次の方法で共有


タッチ コントロールの構築に関するデザイナー ガイド

目次

  1. 概要
    1. Xbox 本体ゲームにタッチ コントロールを追加する利点
  2. ベスト プラクティス
    1. 他のタッチでサポートされているゲームを最初にプレイする
    2. タッチ コントロールを使用して、変更されていないゲームをプレイする
    3. テンプレートから開始し、最小限に抑え続ける
    4. コントロール配置ガイドラインに従う
      1. 左ホイール
      2. 右ホイール
      3. 上部
      4. 下部
    5. 特定のコントロールの種類と高度なシナリオに関するヒントに従う
      1. 4 方向と 8 方向の 方向パッド
      2. ジャイロスコープの狙いとシューターゲームのヒント
      3. 複雑なアクションと組み合わせアクションの処理
    6. タッチ アダプテーション キット エディターを使用する
    7. 現在のゲーム内シナリオに合わせてタッチ コントロールを変更する
    8. シネマティック レイアウトを使用して、映画やカットシーンの間に没入感を維持する
    9. ネイティブ タッチを使用してタッチ操作を完全にカスタマイズする
    10. ゲームのアート スタイルに合わせてカスタム アセットを使用する
    11. タッチ コントロールのゲーム内 UI、ヒント、コントロールの再マッピングを変更する
    12. タッチ コントロールと Xbox ゲーム ストリーミングに関する一般的な問題を確認する
      1. ゲームプレイ中の切断
      2. さまざまなデバイスの種類との互換性

概要

この記事では、Xbox 本体ゲームにタッチ コントロールを追加することが有益な理由について説明し、優れたタッチ コントロール エクスペリエンスを作成する方法に関するベスト プラクティスを提供します。

タッチ コントロールは、クラウド ゲーム タイトルのプレイヤーが要求する上位の機能の 1 つです。 これらのコントロールは、Xbox Cloud Gaming (ベータ) と Xbox リモート プレイの両方でサポートされています。 Xbox タッチ コントロールは、プレイヤーがゲームと対話するための新しい方法を解き放ち、プレイヤーがプレイする方法とタイミングにさらに多くの選択肢を提供します。 ゲーム開発者と協力してタッチ コントロールを 200 を超えるゲームに統合することで、学んだことがたくさんあります。 タッチ コントロールを使用すると、開発者は、さまざまなデバイスやプラットフォーム間でゲームパッドなしでプレイヤーがゲームとやり取りする方法をよりクリエイティブで柔軟に行うことができます。 開発の初期段階でタッチ コントロールと物理ゲームパッド マッピングを検討することで、開発者はさまざまな好みや状況に対応する、より直感的でアクセシビリティの高いゲームプレイ エクスペリエンスをデザインできます。

Xbox 本体ゲームにタッチ コントロールを追加する利点

タッチ コントロールを使用すると、プレイヤーはどこにいても、ゲームパッドを必要とせずにゲームを楽しむことができます。 これにより、ゲームパッドを持っていない、またはゲームパッドなしでプレイすることを好む、特に新規プレイヤーまたはカジュアルなプレイヤーが、より広範で多様な視聴者がゲームにアクセスできるようになります。 Xbox ゲーム ストリーミングのテレメトリとデータは、タッチ コントロールを実装したゲームに対して、さまざまなジャンルにわたるゲームプレイ時間とユーザー センチメントに目に見えた増加が示されます。 Xbox Cloud Gaming プレイヤーの 20% が、ゲームをプレイする専用の方法としてタッチを使用しています。 さらに、タッチ コントロールを提供するタイトルは、平均して、ジャンル全体で、再生されないタイトルの約 2 倍です。 また、タッチ コントロールを使用するプレイヤーは、平均して、そのタイトルのストリーミング センチメント全体に対する満足度が高くない場合に同等の機能を提供します。 そのため、タッチ対応ゲームは関連性が高く、最も重要なのはタッチ コントロールで適切にプレイすることです。 最後に、次のスクリーンショットに示すように、[タッチで再生] フィルターと [タッチ サポート済み] ラベルを使用して、タッチでサポートされているゲームがカタログで特別に強調表示されています。 これらの要素をすべて組み合わせることで、ゲームのタッチ対応化の重要性が明らかになり、さらに重要なのは、タッチ コントロールで適切に動作することを保証することです。

ゲーム タイトルの [タッチで再生] 行のスクリーンショット

ベスト プラクティス

このガイドでは、ゲームのタッチ コントロールを作成するための基本的な実践について説明します。 実践ではタッチスクリーン デバイス上のプレイヤーにスムーズで自然なエクスペリエンスを提供することに焦点を当てています。 これらの実践のほとんどは、既存のゲーム コードを変更することなく簡単に統合できます。

他のタッチでサポートされているゲームを最初にプレイする

タッチ サポートされているゲームの多くの優れた例が既に存在します。 入力要件が7同じゲームは 2 つとありませんが、既存のタッチでサポートされているタイトルを理解するだけで、ゲームに適したタッチ コントロールとレイアウトの種類、ネイティブ タッチの使用方法などを学習できます。 タッチ コントロールを使用してゲームをプレイする方法の詳細については、「クラウド ゲームまたはリモート プレイで Xbox タッチ コントロールを使用する」を参照してください。

タッチ コントロールを使用して、変更されていないゲームをプレイする

タッチ コントロールでゲームをプレイするだけで、それらがどのように機能するかを理解することが重要です。 これは、コンテンツ テスト アプリケーション内のStandard レイアウトを使用して、Xbox 開発キットからタッチ デバイスにストリーミングすることで簡単に実行できます。 ストリーミング開発環境を設定する方法については、「ゲーム ストリーミング テストの前提条件」を参照してください。

注意

Standardゲームでタッチ コントロールを使う場合にレイアウトは役立ちますが、一般的なゲームをプレイするためのレイアウトはお勧めしません。 ゲームのタッチ コントロールを開発するには、次のガイドラインを参照してください。

Standard レイアウトを使用すると、ゲームを制御するのが難しい箇所と、より良いレイアウトを作成できる箇所が明らかになります。 次のベスト プラクティスでは、タッチを使用して、より楽しく流動的なエクスペリエンスを実現する方法について説明します。

テンプレートから開始し、最小限に抑え続ける

ゲームでカスタム タッチ コントロールを使い始めるのは簡単です。 ゲーム コードの変更は必要ありません。 わずか数分で、Xbox GitHub から、または Create コマンドを使用してゲームの特定のニーズに合わせてレイアウトをカスタマイズすることで、テンプレートからサンプル レイアウトを取得できます。 不要なボタンをすべて削除し、テンプレートをカスタマイズします。 テンプレートには既にコントールの場所に関するベスト プラクティスの多くが提供されていますが、次のセクションでは、レイアウトをカスタマイズするためのより詳細なガイドラインのセットを提供します。

コントロール配置ガイドラインに従う

従来のゲームパッド制御スキームでは、多くの場合、最大 4 つの同時入力が使用されます。 次の図に示すように、通常、ゲームプレイでは、コントローラーで両方の親指と 2 本の指を同時に使用する必要があります。 (緑色のコントロールには通常、親指を使ってアクセスします。赤色のコントロールには、指を使用してアクセスします)。

親指と指で分けたコントローラー入力

タッチ インターフェイスは、ゲームパッドとは対照的に、はるかに制約が多くなります。 通常、デバイスを保持しながら左右の親指を使用して、一度に 2 つの入力のみを使用できます。 通常、タッチ デバイスの側面または背面には、より多くの同時入力を許可するコントロールはありません。 さらに、タッチ コントロールは、ボタンを押すか、ゲームパッドと同様にトリガーを作動させるのと同じ物理的な応答を提供することはできません。 コントロールを配置する場所とそれらをマップする方法を慎重に検討することは、楽しいエクスペリエンスを提供するために重要です。

標準コントローラー レイアウトの次の図は、使用可能なすべてのボタンを示しています。 最も使用されるコントロールは、灰色のバンドに示すようにプレイヤーの指が快適なゾーンにあります。 プレイヤーの親指が画面の中央までしか届かない方法と、快適な動きの領域が、デバイスが握られている場所からほぼ放射状に広がっていることに注目してください。

快適な領域が灰色で強調表示された Standard タッチ コントロール レイアウト

Standard レイアウトでは、物理 Xbox コントローラーから使用可能なすべての入力が提供されますが、ゲームをプレイするための優れた方法ではない可能性があります。 また、プレイヤーにとってあまり楽しくないと思います。 各ゲームはほとんどの場合、異なる組み合わせの異なるコントロールを使用するため、タッチ アダプテーション キットが提供する異なるコントロール ゾーンに基づいて、プレイヤーが最も簡単に利用できるコントロールをカスタマイズすることが望ましいです。 次の図は、コントロールを配置するために使用できる場所を示しています。 ゾーン内にあるものは、画面上のさまざまな場所に配置されたスロットに配置されます。

タッチ アダプテーション キット ゾーンとスロット

通常、プレイヤーの親指は、ほとんどのゲームプレイで左右のホイールの上にあります。 これらの場所は、ゲームの主なアクションが実行される場所です。 一方、upper ゾーンと lower ゾーンは、使用頻度の低いアクションに最も適しています。 特にタブレットのような大きなデバイスでは、プレイヤーがそれらのコントロールに到達するために親指を意識的に動かす必要がある場合があります。 次のセクションでは、各ゾーンとさまざまなゲーム アクションの配置を検討する箇所について、多くの詳細を示します。

最後に、ゲームをプレイし、使用される頻度によってすべてのアクションをランク付けすることが非常に重要です。 たとえば、シューティング ゲームの FPS モードでは、頻繁なアクションは、キャラクターの撮影、再読み込み、狙い、移動です。 あまり一般的ではないアクションは、武器の切り替え、手榴弾投げ、アイテムの使用です。 最も使用頻度の低いアクションは、メニューとマップを開くことです。 このランク付けを適用してタッチ コントロールを配置するには、プライマリ、セカンダリ、およびターシャリー アクションの観点から次のガイドラインを使用します。

左ホイール

左ホイールは通常、プレイヤーの移動や移動、プレイヤーの移動中に実行する必要があるアクションに使用されます。

内部

通常、左内側のホイール リングは、キャラクターを動かす 1 つのコントロールに対してのみ予約されます。 これは主な移動アクションです。

ヒント
  1. 文字制御ゲームでは、非相対 (絶対) 左ジョイスティックを使用します。 相対という用語は、ジョイスティックがタッチの開始場所に関してタッチの動きにどのように応答するかを指します。 詳細については、「ジョイスティック」を参照してください。

  2. ゲームに、左ジョイスティック入力の量に基づいて歩行から実行などの速度を変更するシステムがある場合は、代わりに相対左ジョイスティックを使用します。 非相対ジョイスティックは、プレイヤーが速度を変更するために入力を徐々に変更する必要がある状況ではうまく機能しません。

  3. 方向パッドまたは左ジョイスティックを使用してキャラクターの移動を制御できる 2D ゲームでは、ジョイスティック コントロールの代わりに方向パッドを使用します。 左ジョイスティックが方向パッドにはない機能 (速度や細かい角度の方向など) を提供しない限り、これを行います。 方向パッドの代わりにジョイスティックを使用する場合は、2D 文字の移動に対して非相対ジョイスティックを使用することをお勧めします。

  4. メニューのみを移動する特定のレイアウトの場合は、可能な限り方向パッド コントロールを使用します。 方向パッドを使用できない場合は、非相対ジョイスティックを使用します。

  5. 単純なレイアウトには相対ジョイスティックを使用します。 相対ジョイスティックは、ゲームパッドに慣れているプレイヤーにとってより馴染みのあるものです。 ただし、非相対ジョイスティックは、プレイヤーがタッチをドラッグする必要なく、必要な入力をより迅速に適用できるようにすることで、より高いスキルの上限を提供できます。 両方の種類のジョイスティックを試して、何がいちばん楽しいかを感じ取ってみてください。

外部

外部ホイール リングは、他の頻繁なアクションに役立ちます。 ただし、最も頻繁に実行されるアクションは、通常、右側のホイールに属します。

ヒント
  1. セカンダリ アクションとターシャリー アクション用の外部リング コントロール クラスターを作成します。 これにより、このアクションのヒット領域が大きくなります。 クラスターで 1 つのコントロールのみを使用する場合は、[<your secondary action control>, null] または [null, <your secondary action control>] のクラスター構文を使用して、空白の場所を持つ 2 つのコントロール クラスターを作成して、[<your secondary action control>] に比べてリングの少し上に 1 つのコントロールを効果的に配置することを検討してください。

  2. セカンダリ アクションを、スロット 7 とスロット 8 の内側リングの左上の部分の外側に配置します。 これにより、画面の中央に向かってさらに到達する必要なく、簡単にアクセスできます。 ホイール内の他のすべてのスロットがいっぱいになり、空き時間が必要になるまで、セカンダリ スロット (制御クラスター) を分割しないでください。

  3. ターシャリ アクションをスロット 4 とスロット 5 の内側のリングのすぐ下に配置します。 これは、親指をプライマリ アクションから/アクションにすばやく移動するための快適な位置です。 ホイール内の他のすべてのスロットがいっぱいになり、部屋が必要になるまで、ターシャリ スロット (制御クラスター) を分割しないでください。

タッチ アダプテーション キットセカンダリアクションとターシャリーアクションの左ホイール配置

  1. プレイヤーの移動と共に保持する必要があるアクション (保持してしゃがみこんだり、ダッシュしたりなど) を検討します。 action 割り当てを使用してジョイスティック コントロールを作成し、他の重要なアクションに対して右親指を自由にしたまま、両方のアクションを一緒に実行できるようにします。 例については、「しきい値が渡されたときに歩行からダッシュに切り替えるジョイスティック」を参照してください。

右ホイール

右ホイールは、攻撃、撮影、ジャンプ、アイテムや特殊スキルの使用などの主要なキャラクター アクションと一緒にカメラの動きを実行するために最も頻繁に使用されます。

内部

通常、プライマリ攻撃など、最も頻繁に使用されるアクションを実行する 1 つのコントロールに対してのみ、右側の内部ホイール リングを予約します。 内部ホイール リングは複数のコントロールでクラスター化できますが、最も頻繁に使用されるアクション専用の大きなヒットエリアを維持することをお勧めします。

プライマリ アクションの右ホイールの配置をタッチ アダプテーション キットする

ヒント
  1. 例えば照準を合わせるなど、別のアクションを保持する必要がある可能性がある頻繁に使用されるアクションについては、pullAction を含むボタン コントロールを使用して、照準と射撃の両方をシングル タッチで起動できるようにすることを検討してください。
外部

外側のホイール リングは、通常、移動中に実行できるクイック アクションに使用されます。 これらのアクションの例としては、ジャンプ、ダッシュ、リロードなどがあります。

ヒント
  1. セカンダリ アクションとターシャリー アクション用の外部リング制御クラスターを作成して、このアクションのヒット領域を大きくします。 クラスターで 1 つのコントロールのみを使用する場合は、[<your secondary action control>, null] または [null, <your secondary action control>] のクラスター構文を使用して、空白の場所を持つ 2 つのコントロール クラスターを作成して、[<your secondary action control>] と比べてリングの中またはリングの外に 1 つのコントロールを効果的に配置することを検討してください。 ホイール内の他のすべてのスロットがいっぱいになり、より多くのスペースが必要になるまで、セカンダリ クラスターに追加のコントロールを追加しないでください。

  2. セカンダリ アクションをプライマリ アクションの右上のスロット 1 とスロット 2 の外側に配置します。 これにより、画面の中央に到達することなく、簡単にアクセスできます。 ホイール内の他のすべてのスロットがいっぱいになり、空き時間が必要になるまで、セカンダリ スロット (制御クラスター) を分割しないでください。

  3. ターシャリ アクションをスロット 4 とスロット 5 の内側のリングのすぐ下に配置します。 これは、親指をプライマリ アクションから/アクションにすばやく移動するための快適な位置です。 ホイール内の他のすべてのスロットがいっぱいになり、部屋が必要になるまで、ターシャリ スロット (制御クラスター) を分割しないでください。

タッチ アダプテーション キットセカンダリアクションとターシャリーアクションの右ホイール配置

  1. ターシャリ スロットでジャンプのようなアクションを使用します。

注意

ダッシュのようなアクションも存在する場合は、ターシャリにコントロール クラスターを使用する代わりに、スロット 4 でダッシュを使用し、スロット 5 でジャンプします。 これにより、スペースが実質的に半分に分割されるため、主要なアクション、ジャンプ、ダッシュ、プレイヤーの動きを簡単に組み合わせられます。 次の図は、クラスタリングでプライマリ攻撃、ダッシュ、ジャンプの組み合わせが簡単に可能であることを示しています。

ジャンプ、ダッシュ、プライマリ攻撃アクションの右ホイール クラスタリングをタッチ アダプテーション キットする

  1. 他のアクションがアクションと同様にジャンプする必要がある程度に応じて、セカンダリ スロット (スロット 1 と 2 の間のクラスター) またはスロット 6 に配置することを検討してください。 そこから、スロット 5 と 6 の間のクラスタリングによって、ジャンプに近い別のアクションが配置されます。

次の図は、スロット 5 と 6 の間の 3 つのアクション (ガードとロール) をクラスタリングし、ジャンプに近づくことを示しています。

タッチ アダプテーション キット右ホイール クラスタリングのジャンプ付近での追加アクション

  1. 可能な限り、ジャイロスコープ センサー コントロールを使用してカメラを制御します。 これにより、常に別のアクションの右の親指が解放されます。 最後の手段として、相対右ジョイスティックを使用してカメラを制御します。

上部のゾーンは、操作などの頻度の低いメニューやナビゲーションに最も役立ちます。 このゾーンは右上隅から始まり、中央に向かって大きくなります。

ヒント
  1. ゲームのシネマティック セクションでは、上部をスキップ アクションに使用できます。 右上隅はナビゲーション アクションの一般的な場所であり、文字または柱のボックス内にある可能性があります。

  2. 左上隅は、システム ボタン用に予約されています。 プレイヤーは、上の行でゲームを一時停止または移動する可能性のある同様のアクションを期待しています。 この領域には、マップ、インベントリ、メニューなどを配置することを検討してください。

下のゾーンは画面の下部に中央揃えされています。 このゾーンは、コントロールで最も使用頻度の低い領域です。 一部のデバイスでは画面の中央に到達するのが困難な場合があります。

ヒント
  1. 空白のコントロールを下のゾーンに配置してコントロールの位置を調整することはできますが、デバイスのさまざまなフォーム ファクターによって表示されるコントロールが少なくなる可能性があることに注意してください。 空白のコントロールを多数追加して、下隅にコントロールを配置しないでください。 多くの場合、コントロール ホイールと重複します。 プレイヤーは、快適なプレイ ポジションのためにホイールを少し下部に動かすことが多い。

特定のコントロールの種類と高度なシナリオに関するヒントに従います

4 方向と 8 方向の 方向パッド

方向パッドは、4 方向または 8 方向の移動の文字を制御するために一般的に使用されます。 また、メニューを移動する場合にも便利です。 既定では、方向パッド コントロールは、複数の方向を同時にアクティブ化できる物理的な方向パッドのように機能します。 この概念は、8 方向とも呼ばれます。 一方、4 方向の方向パッドは、一度にアクティブな 4 方向のいずれか 1 つだけです。 方向パッドを 4 方向のみに制限するには、コントロールに "interaction": {"activationType": "exclusive"} を追加します。

ヒント
  1. 2D ゲームでキャラクターが対角線を含む 8 方向に移動できる場合は、8 方向の方向パッドを使用します。

  2. 2D ゲームでキャラクターが左、右、上、下の 4 方向のみを移動できる場合は、4 方向の方向パッドを使用します。

  3. メニューを制御する場合は、4 方向の方向パッドを使用します。

ジャイロスコープの狙いとシューティング ゲームのヒント

タッチ コントロールに複雑なゲームを適応させる場合の一般的なシナリオは、タッチ コントロールと合理的に対話できる親指が 2 つしかないにもかかわらず、ユーザーが一度に 2 つ以上のアクションをアクティブ化する必要がある可能性があることです。 これらのより複雑なタスクを支援するために、ジャイロスコープを使用して追加の入力を提供できます。

ヒント
  1. プレイヤーの外観のカメラを制御するには、ジャイロスコープを使用します。 デバイスを左右に傾け、カメラを正確に制御するために戻ることができるのは、直感的な意味を持ちます。

  2. マウス入力でジャイロスコープを使用する ("output": "relativeMouse" を指定する) のは、ジョイスティック ("output": "relativeJoystick" を指定) を使用するよりも、特に一人称およびサード パーソンのゲームでゲームを目指す場合にはるかに優れています。

  3. 物理的な空間での電話の 90 度の回転は、通常、ゲーム内のキャラクターを 120 度回転させます。 この機能により、プレイヤーはゲームを簡単に切り替え、コントロールをより身近に感じることができます。

  4. タッチパッドでジャイロスコープを使用することをお勧めします。 優れたプレイヤーは、素早い方向感覚を得るためにこの組み合わせが欲しいでしょう。ジャイロスコープがほとんどの精密な狙いを可能にします。

  5. ジョイスティックとジャイロスコープを組み合わせて、より多くのプレイ方法を可能にすることを検討してください。 ジャイロスコープ コントロールを使用して、ジョイスティックが提供するものに加えて小さな調整を行うことができます。

  6. ジャイロスコープの "Always On" スタイルは、最高のスキルの天井を持っています。ただし、このスタイルは移動中の車両にいるプレイヤーには適していません。

  7. 可能であれば、必要のないメニューやゲームの他のセクションには、ジャイロスコープ コントロールのない別のレイアウトを使用します。

  8. アクションとゲームがそれらの能力をどのようにサポートしているかに応じて、"renderAsButton": true 付きのタッチパッドでほとんどのボタンを作成します。 照準+射撃が主な例ですが、これはブロック投げや手榴弾投げなどに適用できます。 照準 (LT) + 射撃 (RT) タッチパッド コントロールの例を次に示します。

{
    "type": "touchpad",
    "axis": [
        {
            "input": "axisX",
            "output": "relativeMouseX",
            "sensitivity": 5
        },
        {
            "input": "axisY",
            "output": "relativeMouseY",
            "sensitivity": 2.5
        }
    ],
    "renderAsButton": true,
    "action": [ "rightTrigger", "leftTrigger" ],
    "styles": {
        "default": {
            "faceImage": {
                "type": "icon",
                "value": "fire"
            },
        }
    }
}
  1. 常に、画面の中央 (通常は右側のホイールの外側のスロット 5) 寄りに [照準+射撃] を配置します。 端に配置されている場合は、プレイヤーがカメラを完全に右に向けることができない場合は、スワイプする余地がなくなります。

  2. ファースト パーソンまたはサード パーソンのシューティング ゲーム用の新しいタッチ レイアウトを構築する場合は、ファースト パーソン シューター スターター テンプレートを使用します。 各アクションの位置は十分に分析されています。

Gears 5 では、次のスクリーンショットに示すように、[照準+射撃] コントロールに renderAsButton: true を備えたジャイロスコープとタッチパッドを使用して、正確な照準を実現します。

Gears 5 ジャイロスコープが有効なレイアウトのスクリーンショット

複雑なアクションと組み合わせアクションの処理

2 つの親指だけで複雑なアクションを実行するのは、プレイヤーにとって困難な場合があります。 タッチ アダプテーション キットには、タッチによる複雑なアクションを実行するためのいくつかのメカニズムが用意されています。

ヒント
  1. 1 つのコントロールに複数のアクションを割り当てることができます。 たとえば、左バンパーと右バンパーを同時に押すと、しゃがみがアクティブになります。 次のボタン定義を使用すると、プレイヤーは 1 回押すとしゃがみ込むことができます。

注意

コントロールに複数のアクションを割り当てる場合、既定のアイコンを使用することはできません。 次の例に示すように、コントロールが持つセマンティック アクションを示すように、スタイル設定をカスタマイズすることが重要です。

{
    "type": "button",
    "action": [ "leftBumper", "rightBumper"],
    "styles": {
        "default": {
            "faceImage": {
                "type": "icon",
                "value": "crouch"
            }
        }
    }
}
  1. pullAction は、ボタン コントロールに割り当てることができます。 これは、プレイヤーがワンタッチを使用し、2 つのアクションをアクティブにするために動きをドラッグするのに役立ちます。 たとえば、照準は LT に割り当てられ、射撃は RT に割り当てられます。 次のボタン定義を使用すると、プレイヤーはボタンを押しながら照準を定め、外側に引っ張って射撃できます。
{
    "type": "button",
    "action": "leftTrigger",
    "pullAction": "rightTrigger",
    "styles": {
        "default": {
            "faceImage": {
                "type": "icon",
                "value": "aim"
            }
        },
        "pulled": {
            "faceImage": {
                "type": "icon",
                "value": "fire"
            }
        }
    }
}
  1. actionactionThreshold のあるジョイスティックは、actionThreshold の値に達した場合にのみ、その軸出力に加えて、割り当てられたアクションをアクティブにします。 たとえば、左ジョイスティック入力のみがアクティブになります。 左ジョイスティック入力で RT キーを押すとダッシュがアクティブになります。 次のジョイスティック定義を使用すると、プレイヤーはしきい値 2.5 を渡すことでダッシュをアクティブにすることができます。 プレイヤーは、左ジョイスティックを使用するだけで、徒歩からダッシュに切り替えることができます。
{
    "type": "joystick",
    "action": "rightTrigger",
    "actionThreshold": 2.5,
    "axis": {
        "input": "axisXY",
        "output": "leftJoystick",
        "deadzone": {
            "threshold": 0.05,
            "radial": true
        }
    },
    "styles": {
        "default": {
            "knob": {
                "faceImage": {
                    "type": "icon",
                    "value": "walk"
                }
            }
        },
        "activated": {
            "knob": {
                "faceImage": {
                    "type": "icon",
                    "value": "sprint"
                }
            }
        }
    }
}

ジョイスティック アクションのしきい値を使用した『龍が如く』のスクリーンショット

『龍が如く』では、左ジョイスティック入力がしきい値 2.5 を超えると、右トリガーがダッシュに対してアクティブ化されます。

  1. "アクション" 付きのジョイスティックは、ジョイスティックの使用中に割り当てられたアクションをアクティブ化できます。 たとえば、左側のバンパーを押すとリング メニューがアクティブになり、右ジョイスティックを動かすことで選択できます。 次のジョイスティック定義を使用すると、プレイヤーは左バンパーを保持し、右ジョイスティックを使用してリング メニューからアクションを選択できます。
{
    "type": "joystick", 
    "action": "leftBumper",
    "axis": {
        "input": "axisXY",
        "output": "rightJoystick",
        "deadzone": {
            "threshold": 0.05,
            "radial": true
        }
    },
    "styles": {
        "default": {
            "knob": {
                "faceImage": {
                    "type": "icon",
                    "value": "inventory"
                }
            }
        }
    }
} 

Sea of Thievesでは、action 付きのジョイスティックを使用して、リング メニューを使用して機器を選択します。

リング メニューを使用した Sea of Thieves のスクリーンショット

タッチ アダプテーション キット エディターを使用する

Visual Studio Code のタッチ アダプテーション キット (TAK) エディター拡張機能は、タッチ適応バンドル (TAB) を作成、プレビュー、検証、パッケージ化するためのツールです。 これらのファイルは、拡張子が .takx です。 ゲームの TAK エディターは、進行中のゲーム ストリームを使用せずに、すべて VS Code 内から Xbox ゲーム ストリーミング上のゲームで使用できます。 この VS Code 拡張機能を使用すると、インライン Intellisense が提供され、タッチ コントロールの作成エクスペリエンスが簡略化されます。

TAK エディター Visual Studio Code 拡張機能のスクリーンショット

現在のゲーム内シナリオに合わせてタッチ コントロールを変更する

ゲームは、実行時の動的なゲームの状態に基づいて、タッチ レイアウトを変更したり、レイアウトの状態を変更したりできます。 この 2 つの方法を併用することで、プレイヤーにとって最も自然な操作性を生み出すことができます。 詳細については、タッチ レイアウトを変更する方法、またはゲームの状態に基づいて状態を変更する方法に関するドキュメントを参照してください。

たとえば、Minecraft Dungeons はタッチ レイアウトの状態の変更を使用して、プレイヤーが新しい能力を学習する際にゲームの仕組みを段階的に表示します。

最小限のコントロールのみを使用した Minecraft Dungeons のタッチ レイアウトのスクリーンショット

Minecraft Dungeons では、最初は移動や近接などの基本的なコントロールのみが表示されます。

追加のコントロールが追加された Minecraft Dungeons のタッチ レイアウトのスクリーンショット Minecraft Dungeons では、初めて遠距離武器を入手すると、遠距離攻撃コントロールが追加されます。

シネマティック レイアウトを使用して、映画やカットシーンの間に没入感を維持する

映画やカットシーンは、主にゲームの物語を楽しむために見ることを意図されています。 必要なコントロールは、一般に、一時停止やスキップなどに限定されます。 最もイマーシブな表示エクスペリエンスを作成するには、できるだけ多くのコントロールを排除することが重要です。

ヒント
  1. 可能な場合は、プレイヤーが必要な場合にのみタッチ コントロールを表示します。

    1. プレイヤーからのタッチ入力の検出は比較的簡単です。 詳細については、「IGameInput を使用したゲームのネイティブ タッチ インターフェイスの構築」および完全な SimpleCloudAwareSample ゲーム サンプルを参照してください。

    2. タッチ アダプテーション キットレイアウトが表示されていてもタッチを検出できます。 ネイティブ タッチ API を使用すると、プレイヤーは画面をタップして、ゲームに最小限のシネマティック レイアウトを表示させることができます。 ゲームは、タッチ入力が検出されずにしばらくすると、このレイアウトを非表示にすることができます。

たとえば、ペルソナ 3 リロードには、ネイティブ タッチ検出を備えたカスタム シネマティック レイアウトがあります。

カットシーン中のペルソナ 3 リロードの空白のタッチ レイアウトのスクリーンショット

ペルソナ 3 リロードでは、カットシーンの再生中にタッチ コントロールが非表示になります。

カットシーン中のペルソナ 3 リロードのシネマティック タッチ レイアウトのスクリーンショット

ペルソナ 3 リロードでは、カットシーンをスキップするための操作の選択肢を小さく表示するネイティブ タッチを検知することで、タッチ コントロールが表示されます。

  1. または、同様の効果をゲーム コードの変更なしで実現できます。 右上のゾーンにあるコントロールのタッチ レイアウト レイヤーは、toggle プロパティとレイヤー アクションを使用して、ボタン コントロールと組み合わせて使用できます。

ネイティブ タッチを使用してタッチ操作を完全にカスタマイズする

ネイティブ タッチは、タッチスクリーン デバイスでゲームをプレイする最も使い慣れた方法です。 モバイル デバイス上のプレイヤーは、ゲームを制御するための直接タッチ サポートを構築するゲームに精通しています。 GameInput API を使用すると、ゲームでネイティブ タッチを有効にすることができます。 これは、ゲームの世界と対話するためのより直感的で自然な方法を提供します。 ネイティブ タッチは、Xbox コントローラーのボタンとスティックに再マップされたタッチ アダプテーション キット オーバーレイを補完または置き換えることができます。 詳細については、「IGameInput を使用してゲーム用のネイティブ タッチ インターフェイスを構築する」および完全な SimpleCloudAwareSample のゲーム サンプルを参照してください。

ネイティブ タッチのサポートの例を次に示します。

  • 在庫管理: ネイティブ タッチは、プレイヤーがアイテムをタップするだけでドラッグなどのテクニックを使用できるようにすることで、アイテムの選択と装備をより簡単かつ迅速に行うことができます。 これは、従来のコントローラーベースの管理と比較して、かなりの QoL の向上になる可能性があります。

Minecraft Dungeons の在庫管理のスクリーンショット

Minecraft Dungeons では、インベントリ管理はネイティブ タッチを使用して行われます。

  • メニュー: タッチスクリーンでメニューを操作する方が直感的です。 方向パッドまたはジョイスティックを使用してアイテムに移動するのではなく、目的の項目をタップするだけです。

  • 完全なネイティブ タッチのサポート: 一部のゲームではフル ネイティブ タッチがサポートされるため、タッチ アダプテーション キットを使用してコントローラーに再マッピングする必要がなくなります。 これにより、プレイヤーはモバイル ゲーム エクスペリエンスに完全に集中できます。 これらのゲームは通常、モバイル バージョンを既に備えているか、タッチに優しいインターフェイスをサポートしているため、ネイティブ タッチのサポートは比較的簡単です。 主にマウスでプレイするように設計されたゲームは、ネイティブ タッチをより簡単にサポートする傾向があります。

Fortnite タッチ ゲームプレイのスクリーンショット

Fortnite では、Xbox Cloud Gaming でプレイするときにネイティブ タッチがサポートされます。

ゲームのアート スタイルに合わせてカスタム アセットを使用する

コントロールのアイコンの組み込みセットからアセットを選択できますが、最もイマーシブでシームレスなエクスペリエンスは、ゲームのアート スタイルに合ったアートワークを使用してコントロールをカスタマイズすることです。 これにより、タッチ アダプテーション キット オーバーレイは、意図的で、自然で、ゲームに不可欠なものとして感じられるようになります。 これは、コントローラーのみを念頭に置いてデザインされたゲームへの単純な再マッピングとは対照的です。

たとえば、Minecraft Dungeons では、ゲーム内のデザイン言語を反映するブロック状の図像が使用されます。

ゲームスタイルに合わせてカスタムアセットを使用する Minecraft Dungeons のスクリーンショット

Minecraft Dungeons では、カスタム アセットがゲーム固有のアート スタイルと一致します。

タッチ コントロールのゲーム内 UI、ヒント、コントロールの再マッピングを変更する

UI、ヒント、コントロールの再マッピングは、通常、プレイヤーが使用する入力の種類に基づいて変更されます。 たとえば、ゲームでゲームパッドとキーボードとマウスの両方の入力タイプがサポートされている場合、通常、ゲームパッド入力が検出されたときにゲームパッド固有のボタン プロンプトが表示されます。 通常、キーボードまたはマウスの入力が検出されると、ゲームにはキーボードとマウスの UI が表示されます。

入力の種類に基づくこの動的ユーザー エクスペリエンスは、タッチ アダプテーション キット コントロールにも適用されます。 XGameStreamingGetGamepadPhysicality API を使用すると、入力が物理ゲームパッドからのものか、仮想コントローラー入力に変換されたタッチ レイアウトからのものかを特定できます。 これに応じて、ユーザー エクスペリエンスをカスタマイズして、プレイヤーに最適な画像を表示できます。

たとえば、Gears 5 では、入力の種類に基づいてゲーム内のプロンプトが動的に調整されます。

Gears 5 ゲームパッド ボタン プロンプトのスクリーンショット

Gears 5 では、ゲームパッドの入力の種類を使用するときに UI とヒントを使用できます。

Gears 5 ゲームパッド ボタンの再マッピングのスクリーンショット

Gears 5 では、再マップされた入力でゲームパッド入力の種類を使用する場合、UI とヒントを使用できます。

Gears 5 タッチ プロンプトのスクリーンショット

Gears 5 では、タッチ コントロールのアイコンに一致するタッチ入力の種類に UI とヒントを使用できます。 Gears 5 は、入力タイプごとに再マッピングをインテリジェントに処理するため、タッチで再生するときに再マップされたコントローラー入力は表示または使用されません。

タッチ コントロールと Xbox ゲーム ストリーミングに関する一般的な問題を確認する

ゲームプレイ中の切断

モバイル デバイスでは、プレイヤーが簡単にゲームから離れる状況がよくあります。 たとえば、ホーム画面に移動し、メッセージやニュースを確認し、通話を行います。 このような状況により、ストリーミング クライアントが切断または一時停止します。 その結果、ゲームから状態の不一致が発生する可能性があります。

ヒント
  1. ゲームが切断状態から戻ったときに、レイアウト、アセット、状態を含むタッチ コントロールの適切な読み込みと操作を確認します。 これは、API を使用してタッチ コントロールの状態を制御する場合に特に重要です。

  2. プレイヤーが切断されたときに可能な限りゲームプレイを一時停止して、進行状況の損失やゲームオーバーの状況を防ぎます。 これは、制約イベント認可が必須ですまたはストリーミング クライアントの切断を検出することで行うことができます。

さまざまなデバイスの種類との互換性

スマートフォン、タブレット、2-in-1 PC など、タッチ コントロールを使用できるさまざまな種類のデバイスがあります。 画面サイズの違いやセンサーの有無など、これらのデバイスのさまざまな特性により、これらの違いが考慮されないと快適なゲームプレイが妨げられる可能性があります。

ヒント
  1. すべてのタッチ コントロールが機能し、さまざまな画面サイズのデバイスで簡単にアクセスできることを確認します。

  2. デバイス上のセンサーの可用性を確認します。 使用できない場合は、センサーを必要としない他のオプションがあります。 たとえば、ゲームでは、目標にジャイロスコープを使用します。 デバイスでジャイロスコープを使用できない場合は、代わりにタッチパッド コントロールを使用します。

  3. さまざまな画面サイズを簡単にテストするために、PC を使用して PC コンテンツ テスト アプリケーションまたは Web ブラウザーのウィンドウ サイズを変更できます。 タッチ対応 PC をすぐに使用できない場合、コンテンツ テスト アプリケーションでは、マウス クリックをタッチ イベントとして扱う設定で基本的なテストを行うことができます。 最後に、TAK エディター拡張機能のプレビュー ウィンドウ ビューを使用して、さまざまな次元のタッチ コントロールを簡単に表示します。