共用方式為


Unity 中的頭部注視

注視是使用者以應用程式在 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 核心建置組塊。 您可以從這裡繼續下一個建置組塊:

或跳至 Mixed Reality 平臺功能和 API:

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

另請參閱