-
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 串流
-
臉部追蹤
-
手勢追蹤
-
如何在同一個場景中切換 6DoF 和 3DoF?
如果您有 6DoF 裝置並且以 6DoF 模式執行,可以假設內容能夠在 6DoF 和 3DoF 之間切換。
如果您的內容需要在 3DoF 和 6DoF 之間切換,請注意以下事項。
頭戴式顯示器與控制器
在 3DoF 中,因為固定轉換的關係,控制器通常會位於您的前方。固定轉換會讓控制器與使用控制的人保持距離,甚至在移動控制器時,此距離也不會變更。但是在 6DoF 中,必須移除固定轉換。如果未移除,控制器與使用控制的人之間始終會保持距離。
在 6DoF 中,控制器通常會和頭戴式顯示器放在同一處。此處是位置感應器的起點
Vector3(0, 0, 0). 如果切換至 3DoF,頭戴式顯示器和控制器會隨時固定在起點。
在虛擬實境中時,如果對頭戴式顯示器和控制器的 GameObject 沒有其他操作,您可能會看到頭部被放置在地板上,控制器的模型會從頭部的位置上出現。因此,仍需要固定轉換來保持控制器和地板之間的距離。
姿勢追蹤器
在 WaveVR_PoseTracker 中,將 trackPosition 設為 false (使用 3DoF 模式時)。此標記不會將位置更新成 GameObject 的轉換。這可以在您的指令碼中進行。
controllerGameObject.GetComponent<WaveVR_PoseTracker>().trackPosition = false;
將 trackPosition 設為 true,以切換至 6DoF 模式。
轉譯
擷取姿勢時,轉譯會將起點類型設為每個畫面系統。起點類型會決定姿勢座標 (0,0,0) 的顯示方式。
提示: 起點類型可以在執行階段中變更。
若是 3DoF,將 WaveVR 的 render.origin 設為 WVR_PoseOriginModel.WVR_PoseOriginModel_OriginOnHead_3DoF。如需詳細資訊,請參閱 SDK API 的說明。
var render = WaveVR_Render.Instance; render.origin = WVR_PoseOriginModel.WVR_PoseOriginModel_OriginOnHead_3DoF;
眼球至頭部轉換
眼球至頭部轉換是指從眼球空間座標變更至頭部空間座標的轉換。
舉例來說,如果您的左眼看到前方位置 (0, 0, 1) 有顆蘋果,則蘋果在真實世界的實際位置是:
HeadPose * EyeToHeadTransform * (0,0,1)
假設 EyeToHeadTransform 是:
| 1 0 0 -0.03 | | 0 1 0 0 | | 0 0 1 0 | | 0 0 0 1 |
則頭戴式顯示器的轉換是:
| 1 0 0 0 | | 0 1 0 1.8 | | 0 0 1 0 | | 0 0 0 1 |
眼球的轉換 (-0.03, 0, 0) 可以從頭部的空間取得。蘋果位於:
- 頭部空間座標 (-0.03, 0, 1)
- 真實世界空間座標 (-0.03, 1.8, 1)
蘋果的位置也可以透過逆轉換從真實世界空間和眼球空間得知。
EyeToHeadTransform^-1 * HeadPose^-1 * (-0.03, 1.8, 1)
EyeToHeadTransform 在 6DoF 與 3DoF 中的值可能不同。
6DoF 中的左眼 | 1 0 0 -0.03 | | 0 1 0 0.05 | | 0 0 1 0.05 | | 0 0 0 1 | 3DoF 中的左眼 | 1 0 0 -0.03 | | 0 1 0 0 | | 0 0 1 -0.15 | | 0 0 0 1 |
6DoF 轉換值會根據您的頭戴式顯示器而變更。而 3DoF 的轉換值則是根據頭部旋轉中心而定,其中 z 的值通常為 -0.15,以獲得更棒的使用者體驗。
這對您有幫助嗎?
是
否
送出
感謝您!您的意見回報可協助他人查看最實用的資訊。