入力の概要

MRTK の入力システムを使用すると、次の処理を実行できます。

  • 入力イベントを介して、6 つの DOF コントローラー、多関節ハンド、音声など、さまざまな入力ソースからの入力を使用します。
  • Select や Menu のような抽象 アクション定義 し、それらを異なる入力に関連付ける。
  • コントローラーにアタッチされたポインターを設定し、フォーカスイベントとポインター イベントを介して UI コンポーネントを駆動します。
Input System MRTK 入力システムの概要

入力は、 入力データ プロバイダー (デバイス マネージャー) によって生成されます。 各プロバイダーは、特定の入力ソース (Open VR、Windows Mixed Reality (WMR)、Unity Unity Unity、Windows Speech など) に対応しています。プロバイダーは、Mixed Reality Toolkit コンポーネントの登録済みサービスプロバイダー プロファイルを介してプロジェクトに追加され、対応する 入力ソースが使用可能な場合 (WMR コントローラーが検出された場合やゲームパッドが接続されている場合など) に入力イベントが自動的に生成されます。

入力アクション は、入力を生成する特定の入力ソースからアプリケーション ロジックを分離するのに役立つ、生の入力に対する抽象化です。 たとえば、Select アクションを定義し、マウスの左ボタン、ゲームパッドのボタン、6 DOF コントローラーのトリガーにマップすると便利です。 その後、アプリケーション ロジックで Select input action イベントをリッスンし、生成できるさまざまな入力を認識する必要はありません。 入力アクションは、入力アクション プロファイル で 定義されます。入力アクション プロファイルは、入力アクション コンポーネントの 入力**システム プロファイルMixed Reality Toolkit されます。

コントローラーは 、入力デバイス 紛失または切断された場合に検出および破棄されると、入力プロバイダーによって作成されます。 たとえば、WMR 入力プロバイダーは、6 つの DOF デバイス用の WMR コントローラーと、多関節ハンド用 の WMR 多関節ハンド コントローラーを作成します。 コントローラーの入力は、入力システム プロファイル 内のコントローラー マッピング プロファイル を使用して 入力アクションにマップできます。 コントローラーによって発生した入力イベントには、関連付けられている入力アクション (指定されている場合) が含まれます。

コントローラーには、シーンに対 して クエリを実行してフォーカスを持つゲーム オブジェクトを特定し、その上にポインター イベントを発生するポインター アタッチできます。 たとえば、ライン ポインター は、 コントローラーの姿勢を使用して光線の原点と方向を計算し、シーンに対してレイキャストを実行します。 各コントローラーに対して作成されたポインターは、入力システム プロファイル の下の ポインター プロファイル で設定されます

Event Flow イベント フロー。

UI コンポーネントでは入力イベントを直接処理することができますが、ポインター イベントを使用して実装をデバイスに依存しない状態に保つ方法をお勧めします。

MRTK には、デバイスに依存しない方法で入力状態を直接照会するための便利な方法もいくつか用意されています。 詳細 については、「MRTK での入力状態へのアクセス 」を参照してください。