Unity 中的頭部注視
注視是使用者以 app 在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 核心建置組塊。 接下來,您可以繼續進行下一個建置組塊:
或者,直接跳到混合實境平台功能和 API 的主題:
您可以隨時回到 Unity 開發檢查點。