快速入門:在 Unity 中使用 MRTK 使用 Azure 物件錨點建立 HoloLens 應用程式
在本快速入門中,您將建立使用 Azure Object Anchors 的 Unity HoloLens 應用程式。 Azure Object Anchors 是受控雲端服務,可將 3D 資產轉換成 AI 模型,以啟用 HoloLens 的物件感知混合實境體驗。 當您完成時,將會有一個以 Unity 建置的 HoloLens 應用程式,可偵測實體世界中的物件。
您將了解如何:
- 準備 Unity 組建設定。
- 導出 HoloLens Visual Studio 專案。
- 部署應用程式並在 HoloLens 2 裝置上執行。
必要條件
若要完成本快速入門,請確定您有:
- 環境中的實體物件及其 3D 模型 (CAD 或掃描的)。
- 已安裝下列專案的 Windows 電腦:
- Git (適用於 Windows)
- Visual Studio 2019 搭配 通用 Windows 平台 開發工作負載和 Windows 10 SDK (10.0.18362.0 或更新版本) 元件
- Unity 2019.4
- 最新且 已啟用開發人員模式 的 HoloLens 2 裝置。
- 若要更新至 HoloLens 上的最新版本,請開啟 設定 應用程式,移至 [更新與安全性],然後選取 [檢查更新]。
建立物件錨點帳戶
首先,您必須使用 Object Anchors 服務建立帳戶。
移至 Azure 入口網站,並選取 [建立資源]。
搜尋 物件錨點 資源。
搜尋 「Object Anchors」。
在搜尋結果中的 [物件錨點] 資源上,選取 [建立 -> 物件錨點]。
在 [Object Anchors 帳戶] 對話方塊中:
- 輸入唯一資源名稱。
- 選取資源要連結的訂用帳戶。
- 建立或選取現有的資源群組。
- 選取希望資源所在的區域。
選取 [建立] 以開始建立資源。
建立資源之後,選取 [前往資源]。
在概觀頁面上:
記下 帳戶網域。 稍後您將需要此資訊。
記下 帳戶標識碼。 稍後您將需要此資訊。
移至 [ 存取金鑰 ] 頁面並記下 [主要金鑰]。 稍後您將需要此資訊。
設定您的裝置
若要將應用程式部署至 HoloLens,您必須將 HoloLens 與電腦配對。
- 在您的 HoloLens 中,流覽至 [設定 -> 更新與安全性 -> 適用於開發人員。
- 按兩下 [配對],讓畫面保持開啟狀態,直到您在第一次部署期間將 PIN 輸入 Visual Studio 為止。
上傳模型
執行應用程式之前,您必須讓模型可供應用程式使用。 如果您還沒有物件錨點模型,請遵循建立模型以建立模型中的 指示來建立一個模型 。 然後,返回這裡。
當您的 HoloLens 開啟電源並連線到開發裝置 (PC),請遵循下列步驟,將模型上傳至 HoloLens 上的 3D Objects 資料夾:
選取並複製您想要使用的模型,方法是一起按 Ctrl 鍵和 C(Ctrl + C)。
將 Windows 標誌鍵和 E 一起按下 [Win + E] 以啟動 檔案總管。 您應該會看到 HoloLens 列於左窗格中的其他磁碟驅動器和資料夾。
點選 HoloLens 連結,即可在右窗格的 HoloLens 裝置上顯示記憶體。
在 檔案總管 中,移至 [內部 儲存體 > 3D 物件]。 現在,您可以按下 Ctrl 鍵和 V,將模型貼到 [3D 物件 ] 資料夾中(Ctrl + V)。
開啟範例專案
執行下列命令來複製範例存放 庫 :
git clone https://github.com/Azure/azure-object-anchors.git
cd ./azure-object-anchors
下一個步驟是下載適用於 Unity 的 Azure Object Anchors 套件。
在這裡尋找適用於 Unity 的 Azure Object Anchors 套件 (com.microsoft.azure.object-anchors.runtime
)。 選取您想要的版本,然後使用 [下載] 按鈕下載套件。
在 Unity 中 quickstarts/apps/unity/mrtk
,開啟專案。
請遵循這裡的指示,使用 Unity 封裝管理員 將您下載的 Azure Object Anchors 套件匯入 Unity 專案中。
設定帳戶資訊
下一個步驟是將應用程式設定為使用您的帳戶資訊。 您已記下 [建立物件錨點帳戶] 區段中的 [帳戶密鑰]、[帳戶標識符] 和 [帳戶網域] 值。
在 [ 專案 ] 窗格中,移至 Assets\AzureObjectAnchors.SDK\Resources
。
選取 [ObjectAnchorsConfig]。 在 [偵測器] 窗格中,輸入 Account Key
作為 [物件錨點帳戶索引鍵] 的值、Account ID
作為 [物件錨點帳戶標識符] 的值,以及 Account Domain
作為 [物件錨點帳戶網域] 的值。
建置並執行應用程式
建置範例場景
在 Unity 編輯器中,流覽至 Assets/MixedReality.AzureObjectAnchors/Scenes,然後開啟 AOASampleScene,並將它新增至場景組建清單。
當 [TMP 匯入工具] 對話框提示您匯入 TextMesh Pro 資源時,請選取 [匯入 TMP Essentials] 來執行此動作。
選取 [檔案 -> 建置 設定]。 選取 [通用 Windows 平台],然後選取 [切換平臺]。 如果 Unity 編輯器指出您需要先下載某些元件,請下載並安裝它們。 請遵循下列螢幕快照來設定組建設定。 請確定 只有AOASampleScene 旁邊有複選標記:不應該包含所有其他場景。
選取 [建置 ],然後選取輸出資料夾。 您現在可以在輸出資料夾中產生 VS 專案。
建置和部署應用程式
.sln
開啟 Unity 所產生的檔案。 將組建組態變更為下列專案。
接下來,您必須設定 遠端電腦IP位址 ,以部署和偵錯應用程式。
以滑鼠右鍵按兩下 [應用程式] 項目,然後選取 [ 屬性]。 在 [屬性] 頁面中,選取 [ 組態屬性 -> 偵錯]。 將 [ 機器名稱] 值變更為 HoloLens 裝置的 IP 位址,然後按兩下 [ 套用]。
關閉屬性頁。 按兩下 [ 遠端電腦]。 應用程式應該會開始建置並部署至您的遠端裝置。 請確定您的裝置為作用中。
在 Unity 啟動顯示畫面之後,您應該會看到白色周框方塊。 您可以使用手移動、縮放或旋轉周框方塊。 放置方塊以涵蓋您想要偵測的物件。
開啟手部功能表,然後選取 [鎖定搜尋][區域],以防止周框方塊進一步移動。 選取 [ 開始搜尋 ] 以啟動物件偵測。 偵測到物件時,會在對象上呈現網格。 偵測到實例的詳細數據會顯示在畫面上,例如更新的時間戳和表面涵蓋範圍比例。 選取 [停止搜尋 ] 以停止追蹤,並移除所有偵測到的實例。
應用程式功能表
您也可以使用 手部功能表執行其他動作。
主要功能表
啟動搜尋/停止搜尋 – 啟動或停止物件偵測程式。
切換空間對應 – 顯示/隱藏空間對應轉譯。 如果掃描完成或未完成,可以使用此選項進行偵錯。
追蹤器 設定 – 切換追蹤器設定功能表的啟用。
搜尋區域 設定 – 切換搜尋區域設定功能表的啟用。
啟動追蹤 – 擷取診斷數據,並將其儲存至裝置。 如需詳細資訊,請參閱偵錯偵測問題和擷取診斷一節。
上傳追蹤 – 將診斷數據上傳至物件錨點服務。
追蹤器設定功能表
高精確度 – 實驗性功能,用來取得更精確的姿勢。 啟用此選項會在物件偵測期間需要更多系統資源。 在此模式中,物件網格會以粉紅色呈現。 再次選取此按鈕以切換回一般追蹤模式。
寬鬆的垂直對齊 – 啟用時,允許以非垂直角度偵測物件。 適用於偵測坡道上的物件。
允許調整變更 – 允許追蹤器根據環境資訊變更偵測到的物件大小。
涵蓋範圍比例滑桿 – 調整必須符合追蹤器才能偵測物件的表面點比例。 較低的值可讓追蹤器更清楚地偵測 HoloLens 感測器難以偵測的物件,例如深色物件或高反射物件。 較高的值會降低誤偵測的頻率。
搜尋區域設定功能表
鎖定搜尋區域 – 鎖定區域周框方塊,以防止手部意外移動。
自動調整搜尋區域 – 允許搜尋區域在物件偵測期間自行重新定位。
迴圈網格 – 迴圈查看搜尋區域內已載入的網格。 此選項可協助使用者對齊搜尋方塊,以便難以偵測物件。
疑難排解
提示
如果未偵測到您的物件,您可以嘗試下列步驟:
- 請仔細檢查您使用的是對象的正確模型。
- 將搜尋區域可視化,並確保它涵蓋目標物件。
- 請嘗試減少
MinSurfaceCoverage
。 - 在 Windows 裝置入口網站中,單擊 [ 檢視 -> 3D 檢視],並確認掃描是否已完成。