Unity 中的頭部注視
注視是使用者以應用程式在 Mixed Reality 中建立的全像投影為目標的主要方式。
實作頭部注視
在概念上,您可以從使用者的頭戴式裝置向前投射光線來判斷 頭部注視 ,以查看它所叫用的內容。 在 Unity 中,用戶的頭部位置和方向會透過 相機公開,特別是 UnityEngine.Camera.main。transform.forward 和 UnityEngine.Camera.main。transform.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 開發檢查點 。