次の方法で共有


入力アクション — MRTK2

入力アクション は、入力を生成する特定の入力ソースからアプリケーション ロジックを分離するために役立つ生入力に対する抽象化です。 たとえば、 Select アクションを定義し、マウスの左ボタン、ゲームパッドのボタン、6 DOF コントローラーのトリガーにマップすると便利です。 その後、生成できるすべての異なる入力を認識する必要なく、アプリケーション ロジックで Select 入力アクション イベントをリッスンさせることができます。

入力アクションの作成

入力アクションは、入力アクション プロファイルで、Mixed Reality Toolkit コンポーネントの入力システム プロファイル内で構成され、アクションの名前と入力の種類 (軸制約) を指定してマップできます。

入力アクション

軸の制約で最もよく使用される値は次のとおりです。

軸の制約 説明
デジタル ゲームパッドやマウスのバイナリ ボタンなどのオン/オフ入力。
単一軸 ゲームパッドのアナログトリガーのような単一軸アナログ入力。
二重軸 サムスティックのようなデュアル軸アナログ入力。
Six Dof 6つのDUFコントローラーによって作り出されたような平行移動と回転を持つ3Dポーズ。

完全な一覧は、 AxisTypeにあります。

アクションへの入力のマッピング

入力を と アクションにマップする方法は、入力ソースの種類によって異なります。

コントローラー入力

[入力システム プロファイル] の下にある [コントローラー入力マッピング プロファイル] に移動します。 サポートされているすべてのコントローラーの一覧が表示されます。

入力マップ プロファイル

構成するコントローラーを選択すると、すべてのコントローラー入力と共にダイアログ ウィンドウが表示され、それぞれに対してアクションを設定できます。

入力アクションの割り当て

音声入力

音声コマンド プロファイル[入力システム プロファイル] に、現在定義されている音声コマンドの一覧が表示されます。 そのうちの 1 つをアクションにマップするには、[ アクション ] ドロップダウンで選択するだけです。

Speech Commands プロファイル

ジェスチャ入力

ジェスチャ プロファイルには、入力システム プロファイルの下に、定義されているすべてのジェスチャが含まれています。 各アクションをアクションにマップするには、[ アクション] ドロップダウン で選択します。

ジェスチャ プロファイル

入力アクションの処理

警告

現時点では、このセクションで説明するメソッドを使用して、 Digital 型の入力アクションのみを処理できます。 他のアクションの種類の場合は、代わりに対応する入力のイベントを直接処理する必要があります。 たとえば、コントローラー入力にマップされた 6 つの DOF アクションを処理するには、T = MixedRealityPoseIMixedRealityGestureHandler<T>を使用する必要があります。

入力アクションを処理する最も簡単な方法は、 InputActionHandler スクリプトを使用することです。 これにより、Unity イベントを使用して、リッスンするアクションを定義し、アクションの開始イベントと終了イベントに対応できます。

Acton Handler

より詳細な制御が必要な場合は、スクリプトに IMixedRealityInputActionHandler インターフェイスを直接実装できます。 ハンドラー インターフェイスを使用したイベント処理の詳細については、「 入力 イベント」セクションを参照してください。

アクションを作成し、コントローラー、音声、ジェスチャの入力にマップし、コマンドでオブジェクトを回転させる方法を示すシーン例については、「 MRTK/Examples/Demos/Input/Scenes/InputActions 」を参照してください。

入力アクションの例