本日は MRTKv2 の調査枠です。
MRTKv2 の Guides ドキュメントを少しずつ読み進めていきます。
MRTKv2のGuidesドキュメント
以下のドキュメントを読み進めていきます。
microsoft.github.io
以下のページでは有志による本ドキュメントの日本語翻訳が行われています。
投稿時点でこちらで未翻訳、または著者が興味のある部分について記事にしていきます。
hololabinc.github.io
本記事では以下のページを読み進めます。
microsoft.github.io
入力アクション
入力アクションは特定の入力ソースからの入力を抽象化したものです。
入力を生成するデバイスからアプリケーションロジックを分離するのに役立ちます。
例えば、選択アクションを定義して以下の入力にマッピングすると便利です。
・マウスの左ボタン
・ゲームパッドのボタン
・6DOFコントローラーのトリガー
その後、アプリケーションロジックは入力アクションイベントをリッスンすることができます。
入力アクションイベントを生成する様々な入力をすべて意識する必要はありません。
入力アクションを作成する
入力アクションは Mixed Reality Toolkit コンポーネントの Input System プロファイル内の Input Action プロファイルで構成されます。
アクションの名前と入力タイプ(Axis Constraint)を指定して、マッピングできます。
以下は入力タイプ(Axis Constraint)で最も一般的に使用される値です。
Axis Constraint | 説明 |
---|---|
Digital | ゲームパッドまたはマウスのバイナリボタンのようなオン/オフの入力。 |
Single Axis | ゲームパッドのアナログトリガーのような単軸のアナログ入力。 |
Dual Axis | サムスティックのような2軸のアナログ入力。 |
Six Dof | 6DOFコントローラーで生成されるような平行移動と回転を伴う3Dの姿勢入力。 |
値の完全なリストは以下にあります。
microsoft.github.io
入力をアクションにマッピングする
入力とアクションのマッピング方法は、入力ソースのタイプによって異なります。
コントローラー入力
Input System プロファイル内の Controller Input Mapping プロファイルを開きます。
ここにはサポートしている全てのコントローラーのリストがあります。
構成したいコントローラーを選択すると、全てのコントローラー入力を含むダイアログウィンドウが表示されます。
ここでそれぞれのアクションを設定できます。
音声入力
Input System プロファイル内の Speech Command プロファイルを開きます。
ここには現在定義されている音声コマンドのリストがあります。
それら音声コマンドの1つをアクションにマッピングするには、[Action]のドロップダウンを開いて選択します。
入力アクションの処理
入力アクションを処理する最も簡単な方法は InputActionHandler スクリプトを使用することです。
これにより、UnityEvent を使用して、アクションの開始および終了イベントを受け取り、実行するアクションを定義できます。
詳細に制御したい場合 IMixedRealityInputActionHandler で、スクリプトにインターフェイスを直接実装できます。
ハンドラーインターフェイスを介したイベント処理の詳細については、「入力イベント」セクションを参照してください。
microsoft.github.io
警告
現在、このセクションで説明する方法を使用して処理できるのは Digital タイプの入力タイプのみです。
他の入力タイプの場合、代わりに対応する入力のイベントを直接処理する必要があります。
例えば、コントローラー入力にマッピングされた6DOFアクションを処理するには IMixedRealityGestureHandler