共用方式為


Unity 中的世界鎖定和空間錨點

世界鎖定工具主圖影像

讓全像投影保持原位、與您一起移動,或在某些情況下,相對於其他全像投影本身的位置,是建立混合實境應用程式的一大部分。 本文將帶您完成使用世界鎖定工具的建議解決方案,但我們也會討論在 Unity 專案中手動設定空間錨點。 在我們跳入任何程序代碼之前,請務必瞭解 Unity 如何處理自己的引擎中的座標空間和錨點。

世界縮放座標系統

今天,在撰寫遊戲、數據視覺效果應用程式或虛擬實境應用程式時,典型的方法是建立一個絕對 世界座標系統 ,讓所有其他座標都能可靠地對應回去。 在該環境中,您隨時都能找到一個穩定轉換,以定義該世界中任何兩個對象之間的關聯性。 如果您未移動這些物件,其相對轉換一律會維持不變。 在轉譯純虛擬世界時,這種全域座標系統很容易正確,您事先知道所有幾何。 室內規模的 VR 應用程式今天通常會建立這種絕對房間規模的座標系統,其起源在地板上。

相反地,HoloLens 等未系結的混合實境裝置對世界有動態感測器驅動的瞭解,在使用者周圍的環境經過一段時間后持續調整其知識,因為他們在建築物的整個樓層走多米。 在世界規模的體驗中,如果您將所有全像投影放在天真的固定座標系統中,這些全像投影最終會隨著時間而漂移,無論是根據世界還是彼此相對。

例如,頭戴式裝置目前可能相信世界上的兩個位置相距4米,然後改進該理解,了解這些位置實際上相距3.9米。 如果這些全像投影最初被放置在單一剛性座標系統中,其中一個則總是與真實世界相距0.1公尺。

您可以在 Unity 中手動放置 空間錨點 ,以在用戶移動時維護全像投影在實體世界中的位置。 不過,這會犧牲虛擬世界中的自我一致性。 不同的錨點會不斷彼此移動,而且也會通過全域座標空間移動。 在此案例中,版面配置等簡單工作變得困難。 物理模擬也可能有問題。

世界鎖定工具 (WLT)可讓您充分利用這兩個世界,使用空間錨點的內部供應在使用者四處移動時,穩定單一剛性座標系統。 WLT 會分析相機的座標,以及每個畫面的空間錨點。 WLT 不會變更世界上所有專案的座標,以補償用戶頭部座標中的修正,而是改為修正頭部的座標。

選擇您的世界鎖定方法

可能的話,請使用 世界鎖定工具 進行全像投影定位。

世界鎖定工具 提供穩定的座標系統,可將虛擬和真實世界標記之間的可見不一致降到最低。 世界鎖定工具會使用共用錨點集區鎖定整個場景,而不是使用群組自己的個別錨點鎖定每個物件群組。

世界鎖定工具會自動處理空間錨點的內部建立和管理。 您不需要與 ARAnchorManager 或 WorldAnchor 互動,即可將您的全像投影世界鎖定。

  • 針對使用 OpenXR 或 Windows XR 外掛程式的 Unity 2019/2020,請使用 ARAnchorManager
  • 針對舊版 Unity 或 WSA 專案,請使用 WorldAnchor

設定世界鎖定

若要開始使用世界鎖定工具, 請下載混合實境功能工具。 若要深入瞭解基本概念,請參閱主要世界鎖定工具文件頁面,以取得概觀、快速入門和其他實用主題的連結。

自動化設定

當您的專案準備好進行時,請從 混合實境 > 世界鎖定工具執行設定場景公用程式:

已選取 [混合實境工具組] 功能表的 Unity 編輯器

重要

設定場景公用程式可以隨時重新執行。 例如,如果 AR 目標已從舊版變更為 XR SDK,則應該重新執行。 如果場景已正確設定,則執行公用程序沒有任何作用。

視覺化工具

在早期開發期間,新增可視化檢視有助於確保WLT已設定並正常運作。 您可以使用移除可視化檢視公用程式,移除生產效能,或基於任何原因不再需要移除它們。 如需可視化檢視的詳細資訊,請參閱 工具檔

持續性世界鎖定

空間錨點會在應用程式會話之間的真實世界空間中儲存全像投影。 儲存在 HoloLens 錨點存放區之後,就可以在不同的會話中找到空間錨點並載入,而且在沒有因特網連線時是理想的後援。

重要

本機錨點會儲存在裝置上,而 Azure Spatial Anchors 會儲存在雲端。 您可以在相同的項目中擁有本機和 Azure 錨點,而不會發生衝突。 如需整合 Azure 雲端服務來儲存錨點的詳細資訊,請參閱 Azure Spatial Anchors

根據預設,世界鎖定工具會在支援本機空間錨點持續性的裝置上,還原 Unity 的座標系統相對於實體世界。 若要在結束並重新執行應用程式之後,將全像投影出現在實體世界中的相同位置,應用程式只需要將相同的姿勢還原至全像投影。

Unity 偵測器中的世界鎖定內容元件

如果應用程式需要更精細的控制,您可以在偵測器中停用 自動儲存自動載入 ,以及管理腳本中的持續性。 如需詳細資訊,請參閱 保存空間座標系統

世界鎖定工具僅支援 HoloLens 裝置上的本機錨點持續性。 針對 Android、iOS 和 HoloLens 裝置,與 Azure Spatial Anchors 整合,以支援跨會話和裝置之間協調空間的持續性和共用。 如需搭配 Azure 空間錨點使用世界鎖定工具的詳細資訊和範例,請參閱與 Azure Spatial Anchors (ASA) 結合的世界鎖定工具 (WLT)。

下一步

共用世界鎖定的座標空間:

瞭解空間對應:

傳回 Unity 開發檢查點:

另請參閱