Unity 中的頭部注視

注視是使用者以 app 在Mixed Reality中建立全像投影為目標的主要方式。

實作頭部注視

在概念上,您會透過從使用者的頭戴式裝置投射光線來判斷 頭部注視 ,以查看其點擊內容。 在 Unity 中,使用者的頭部位置和方向會透過 相機公開,特別是 UnityEngine.Camera.maintransform.forwardUnityEngine.Camera.maintransform.position

呼叫 Physics.RayCast 提供一個 RaycastHit ,其中包含碰撞的相關資訊,包括 3D 碰撞點和其他 GameObject 頭部注視光線點擊。

範例:實作頭部注視

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
       }
}

最佳做法

雖然上述範例會從更新迴圈引發單一光線廣播,以尋找使用者前端點的目標,但我們建議使用單一物件來管理所有頭部注視程式。 結合您的頭部注視邏輯,可節省應用程式寶貴的處理能力,並將光線廣播限制為每個畫面一個。

視覺化頭部注視

就像在電腦上使用滑鼠指標一樣,您應該實作代表使用者頭部注視的 游標 。 瞭解使用者所鎖定的內容,可提高他們即將與其互動之內容的信賴度。

Mixed Reality工具組中的頭部注視

您可以從 MRTK 中的 輸入管理員 存取頭部注視。

下一個開發檢查點

如果您遵循我們配置的 Unity 開發旅程,您正在探索 MRTK 核心建置組塊。 接下來,您可以繼續進行下一個建置組塊:

或者,直接跳到混合實境平台功能和 API 的主題:

您可以隨時回到 Unity 開發檢查點

另請參閱