Unity での頭の視線入力

視線入力は、アプリが Mixed Reality 内に作成するホログラムをユーザーがターゲットとして設定する主な方法です。

頭の視線入力を実装する

概念的には、ユーザーのヘッドセットから前方に光を投影して何に当たるかを確認することによって、頭の視線入力を決定します。 Unity では、ユーザーの頭の位置と方向は、カメラ (具体的には UnityEngine.Camera.main.transform.forwardUnityEngine.Camera.main.transform.position) を通じて公開されます。

Physics.RayCast を呼び出すと、3D 衝突ポイントや、頭の視線入力の光が当たったその他の GameObject など、衝突に関する情報が含まれる RaycastHit が返されます。

例: 頭の視線入力を実装する

void Update()
{
       RaycastHit hitInfo;
       if (Physics.Raycast(
               Camera.main.transform.position,
               Camera.main.transform.forward,
               out hitInfo,
               20.0f,
               Physics.DefaultRaycastLayers))
       {
           // If the Raycast has succeeded and hit a hologram
           // hitInfo's point represents the position being gazed at
           // hitInfo's collider GameObject represents the hologram being gazed at
       }
}

ベスト プラクティス

上記の例では、update ループからの 1 つの raycast を使用して、ユーザーの頭が向いているターゲットを探しますが、すべての頭の視線入力プロセスの管理に単一のオブジェクトを使用することをお勧めします。 お使いの頭の視線入力ロジックを組み合わせると、アプリの貴重な処理能力が節約され、レイキャスティングはフレームあたり 1 つに制限されます。

頭の視線入力を視覚化する

コンピューター上のマウス ポインターと同じように、ユーザーの頭の視線入力を示すカーソルを実装する必要があります。 ユーザーがターゲットとしているコンテンツを把握することで、ユーザーが何を操作しようとしているかについての信頼性が向上します。

Mixed Reality Toolkit での頭の視線入力

MRTK の入力マネージャーから、頭の視線入力にアクセスできます。

次の開発チェックポイント

ここで述べる MRTK の主要機能の説明は、Microsoft による Unity 開発ガイドの一部です。 ここから、次の構成要素を続けることができます。

または、Mixed Reality プラットフォームの機能と API に移動します。

いつでも Unity 開発チェックポイントに戻ることができます。

関連項目