空間感知入門 - MRTK2

Spatial Awareness

空間感知系統可在混合實境應用程式中提供真實世界的環境感知。 在Microsoft HoloLens上引進時,Spatial Awareness 提供了網格集合,代表環境的幾何,這可讓全像投影與真實世界之間產生吸引人的互動。

注意

目前,Mixed Reality工具組不會隨附 Spatial Understanding 演算法,如同原本封裝在 HoloToolkit 中一樣。 Spatial Understanding 通常涉及轉換空間Mesh資料,以建立簡化和/或分組的Mesh資料,例如平面、牆、樓層、上限等。

開始使用

新增空間感知的支援需要Mixed Reality工具組的兩個重要元件:Spatial Awareness 系統和支援的平臺提供者。

  1. 啟用 空間感知系統
  2. 註冊設定 一或多個空間觀察者以提供網格資料
  3. 建置並部署 至支援空間感知的平臺

啟用空間感知系統

Spatial Awareness 系統是由 MixedRealityToolkit 物件 (或其他 服務註冊機構 元件) 所管理。 請遵循下列步驟,在MixedRealityToolkit設定檔中啟用或停用Spatial Awareness 系統

Mixed Reality工具組隨附一些預設預先設定的設定檔。 其中有些預設會啟用空間感知系統或停用。 此預先設定的意圖,特別是在停用時,是避免計算和轉譯網格的視覺額外負荷。

設定檔 依預設啟用的系統
DefaultHoloLens1ConfigurationProfile (Assets/MRTK/SDK/Profiles/HoloLens1)
DefaultHoloLens2ConfigurationProfile (Assets/MRTK/SDK/Profiles/HoloLens2)
DefaultMixedRealityToolkitConfigurationProfile (資產/MRTK/SDK/設定檔)
  1. 選取場景階層中的 MixedRealityToolkit 物件,以在偵測器面板中開啟。

    MRTK Configured Scene Hierarchy

  2. 流覽至[空間感知系統] 區段,然後選取[啟用空間感知系統]

    Enable Spatial Awareness

  3. 選取所需的空間感知系統實作類型。 MixedRealitySpatialAwarenessSystem是提供的預設 。

    Select the Spatial Awareness System Implementation

註冊觀察者

Mixed Reality工具組中的服務可以有Data Provider服務,以平臺特定資料和實作控制項補充主要服務。 其中一個範例是具有多個資料提供者的Mixed Reality輸入系統,可從各種平臺特定 API 取得控制器和其他相關的輸入資訊。

空間感知系統與空間感知系統類似,在於資料提供者會提供系統與真實世界相關的網格資料。 空間感知設定檔至少必須註冊一個空間觀察者。 空間觀察者通常是平臺特定元件,可作為從平臺特定端點呈現各種網格資料的提供者 (,例如HoloLens) 。

  1. 開啟或展開 空間感知系統設定檔

    Spatial Awareness System Profile

  2. 按一下 [ 新增空間觀察者] 按鈕

  3. 選取所需的 空間觀察者實作類型

    Select the Spatial Observer Implementation

  4. 視需要修改觀察者的組態屬性

注意

DefaultMixedRealityToolkitConfigurationProfile (Assets/MRTK/SDK/Profiles) 的使用者,會針對使用 WindowsMixedRealitySpatialMeshObserver 類別的 Windows Mixed Reality 平臺預先設定空間感知系統。

建置及部署

一旦使用所需的觀察者 () 設定空間感知系統,就可以建置專案並部署到目標平臺。

重要

如果以Windows Mixed Reality平臺為目標 (例如:HoloLens) ,請務必確定已啟用空間感知功能,才能在裝置上使用空間感知系統。

警告

某些平臺包括 Microsoft HoloLens,可支援從 Unity 內進行遠端執行。 此功能可讓您快速開發和測試,而不需要建置和部署步驟。 請務必使用建置和已部署的應用程式版本,在目標硬體和平臺上執行的最終接受度測試。

後續步驟

遵循上述程式來啟用空間感知系統之後,可以更詳細地設定及控制系統。

在偵測器中設定觀察者的資訊:

透過程式碼控制及擴充觀察者的資訊:

另請參閱