界限系統概觀 - MRTK2
界限系統支援將混合實境應用程式中的虛擬實境界限元件視覺化。 界限定義使用者在戴 VR 頭戴式裝置時可以安全地移動的區域。 界限是混合實境體驗的重要元件,可協助使用者在使用 VR 頭戴式裝置時避免看不見的障礙。
許多虛擬實境平臺都會提供自動顯示,例如,在虛擬世界中,使用者或其控制器接近界限的白色外框。 Mixed Reality工具組的界限系統會擴充這項功能,以便顯示追蹤區域的外框、樓層平面和其他功能,可用來為使用者提供其他資訊。
開始使用
新增界限支援需要Mixed Reality工具組的兩個主要元件:界限系統和使用界限設定的虛擬實境平臺。
啟用界限系統
界限系統是由 MixedRealityToolkit 物件管理, (或其他 服務註冊機構 元件) 。
下列步驟假設使用 MixedRealityToolkit 物件。 其他服務註冊機構所需的步驟可能不同。
選取場景階層中的 MixedRealityToolkit 物件。
流覽 [偵測器] 面板至 [界限系統] 區段,然後核取 [啟用]
選取界限系統實作。 MRTK 所提供的預設類別實作是
MixedRealityBoundarySystem
注意
所有界限系統實作都必須擴充 IMixedRealityBoundarySystem
設定界限視覺效果
界限系統會使用組態設定檔來指定要顯示哪些界限元件,以及設定其外觀。
注意
預設設定檔的使用者, DefaultMixedRealityBoundaryVisualizationProfile
(Assets/MRTK/SDK/Profiles) 會預先設定界限系統以顯示樓層平面、播放區域和追蹤區域。
建置及部署
使用所需的視覺效果選項設定界限系統之後,即可將專案建置至目標平臺。
注意
Unity 播放模式可啟用已設定界限的編輯器內視覺效果。 此功能可讓您快速開發和測試,而不需要建置和部署步驟。 請務必使用在目標硬體和平臺上執行的已建置和已部署應用程式版本來執行最終接受度測試。
透過程式碼存取界限系統
如果已啟用並設定,即可透過 CoreServices 靜態協助程式類別存取界限系統。 參考接著可用來動態變更界限參數,並存取由系統管理的相關 GameObject。
// Hide Boundary Walls at runtime
CoreServices.BoundarySystem.ShowBoundaryWalls = false;
// Get Unity GameObject for the floor visualization in scene
GameObject floorVisual = CoreServices.BoundarySystem.GetFloorVisualization();