-
VIVE Wave
-
SDK
- VIVE Wave 是什麼?
- 哪裡可以下載 Wave SDK?
- 如何存取 Wave Developer Community 論壇?
- 匯入自訂套件後,如何修正編譯或建置錯誤?
- 如何將控制器放入場景中?
- 如何在同一場景內切換不同的追蹤姿勢設定?
- 如何在同一個場景中切換 6DoF 和 3DoF?
- 為什麼無法接收事件或點按系統重疊?
- 如何在執行階段中取得控制器物件?
- 如何顯示或隱藏控制器指標?
- 如何將控制器模型物件從模型原點 (Root) 更改為發射器起始點 (Emitter)?
- 如何得知控制器是否傳送事件?
- 如何在僅能旋轉 (Rotation-Only) 的環境下設定控制器位置?
- 如何在場景中只顯示一個控制器?
- 如何找出頭部與地板的距離?
-
-
VIVE SRWorks
-
VIVE 眼球和臉部追蹤
-
VIVE 手勢追蹤
-
VIVE 3DSP Audio
-
VIVEPORT
-
VIVE Business 串流
-
臉部追蹤
-
手勢追蹤
-
如何在同一場景內切換不同的追蹤姿勢設定?
如果您以不同的追蹤姿勢設定建立 2 個或以上的頭部 (head),當您在啟用一個 head 卻未停用另一個 head 的情況下切換時,head 會使用錯誤的姿勢資料。
請依照下列步驟以避免此問題。
以下列出在同一場景中找出 head 的兩個方法。這些是利用追蹤起點 (TrackingUniverseSeated 和 TrackingUniverseStanding) 的樣式來切換兩個 head。使用公共標記 (ChooseDoF 的 HowToFindHead) 來選取您想使用的尋找方法。
公用類別 ChooseDoF:MonoBehaviour { public ETrackingUniverseOrigin trackingSpace = ETrackingUniverseOrigin.TrackingUniverseSeated; public bool HowToFindHead = false; void OnEnable() { if (HowToFindHead) method1(); else method2(); } // For method 1, it makes use of the Transform function to find the head you would like to take. void method1() { #if UNITY_5_5_OR_NEWER // Global find GameObject body1 = transform.root.Find("Body1").gameObject; GameObject body2 = transform.root.Find("Body2").gameObject; #else // Children find GameObject body1 = transform.Find("Body1").gameObject; GameObject body2 = transform.FindChild("Body2").gameObject; #endif if (trackingSpace == ETrackingUniverseOrigin.TrackingUniverseSeated) body1.SetActive(true); else body2.SetActive(true); } // For method 2, it traverses the component list to find the head you would like to take. void method2() { // Children find var list = GetComponentsInChildren<WaveVR_Render>(true); foreach (WaveVR_Render render in list) { var obj = render.transform.parent.gameObject; if (trackingSpace == ETrackingUniverseOrigin.TrackingUniverseSeated) { if (obj.name == "Body1") { obj.SetActive(true); break; } } else { if (obj.name == "Body2") { obj.SetActive(true); break; } } } } }
-
執行前,必須停用所有 head。
-
在 GameObject 底下,執行下列任一操作:
- 在追蹤空間中,選取追蹤通用坐姿,以啟用Body1 Head。
- 在追蹤空間中,選取追蹤通用站姿,以啟用Body2 Head。
- 在追蹤空間中,選取追蹤通用坐姿,以啟用Body1 Head。
這對您有幫助嗎?
是
否
送出
感謝您!您的意見回報可協助他人查看最實用的資訊。