快速入門:在 Unity 使用 MRTK 透過 Azure Object Anchors 建立 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 帳戶
首先,您必須使用 Object Anchors 服務建立帳戶。
移至 Azure 入口網站,並選取 [建立資源]。
搜尋 Object Anchors 資源。
搜尋 "Object Anchors"。
在搜尋結果的 Object Anchors 資源上,選取 [建立] -> [Object Anchors]。
在 [Object Anchors 帳戶] 對話方塊中:
- 輸入唯一資源名稱。
- 選取資源要連結的訂用帳戶。
- 建立或選取現有的資源群組。
- 選取希望資源所在的區域。
選取 [建立] 開始建立資源。
建立資源之後,選取 [前往資源]。
在概觀頁面上:
記下帳戶網域。 稍後您將需要此資訊。
記下帳戶識別碼。 稍後您將需要此資訊。
移至 [存取金鑰] 頁面,並記下主要金鑰。 稍後您將需要此資訊。
設定您的裝置
若要將應用程式部署至 HoloLens,您必須將 HoloLens 與電腦配對。
- 在 HoloLens 中,瀏覽至 [設定] -> [更新與安全性] -> [開發人員]。
- 按一下 [配對],讓畫面保持開啟狀態,直到您在第一次部署期間將 PIN 輸入 Visual Studio 為止。
上傳模型
執行應用程式之前,您必須讓模型可供應用程式使用。 如果您還沒有 Object Anchors 模型,請遵循建立模型中的指示,建立一個模型。 然後,回到這裡。
HoloLens 開啟電源並連線到開發裝置 (PC) 後,請遵循下列步驟,將模型上傳至 HoloLens 上的 3D 物件資料夾:
同時按下 Ctrl 鍵和 C (Ctrl + C),以選取並複製您要使用的模型。
同時按下 Windows 標誌鍵和 E (Win + E) 以啟動 [檔案總管]。 您應該會看到左窗格列出 HoloLens 與其他磁碟機和資料夾。
點選 HoloLens 連結,即會在右窗格顯示 HoloLens 裝置上的儲存體。
在 [檔案總管] 中,移至 [內部儲存體 > 3D 物件]。 現在,您可以同時按下 Ctrl 鍵和 V (Ctrl + V),在 [3D 物件] 資料夾中貼上模型。
開啟範例專案
執行下列命令以複製範例存放庫:
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 專案。
設定帳戶資訊
下一個步驟是將應用程式設定為使用您的帳戶資訊。 記下 [建立 Object Anchors 帳戶] 區段中的 [帳戶金鑰]、[帳戶識別碼] 和 [帳戶網域] 值。
在 [專案] 窗格上,移至 Assets\AzureObjectAnchors.SDK\Resources
。
選取 [ObjectAnchorsConfig]。 在 [偵測器] 窗格上,輸入 Account Key
做為 [Object Anchors 帳戶金鑰] 的值、輸入 Account ID
做為 [Object Anchors 帳戶識別碼] 的值,以及輸入 Account Domain
做為 [Object Anchors 帳戶網域] 的值。
建置並執行應用程式
組建範例場景
在 Unity 編輯器中,瀏覽至 Assets/MixedReality.AzureObjectAnchors/Scenes,然後開啟 AOASampleScene,並將它新增到場景組建清單。
當 [TMP 匯入工具] 對話方塊提示您匯入 TextMesh Pro 資源時,請選取 [匯入 TMP Essentials] 來匯入資源。
選取 [檔案 -> 組建設定]。 選取 [通用 Windows 平台],然後選取 [切換平台]。 如果 Unity 編輯器指出您必須先下載某些元件,請下載並安裝那些元件。 請遵循下列螢幕擷取畫面來設定組建設定。 請確定只有 AOASampleScene 旁邊有核取記號:不應納入所有其他場景。
選取 [組建] 並選取輸出資料夾。 您現在可以在輸出資料夾中產生 VS 專案。
建置並部署應用程式
開啟 Unity 所產生的 .sln
檔案。 將組建設定變更為下列。
接下來,您必須設定 [遠端電腦 IP 位址],以部署和偵錯應用程式。
以滑鼠右鍵按一下 [應用程式] 專案,然後選取 [屬性]。 在 [屬性] 頁面中,選取 [設定屬性]->[偵錯]。 將[電腦名稱] 值變更為 HoloLens 裝置的 IP 位址,然後按一下 [套用]。
關閉屬性頁。 按一下 [遠端電腦]。 應用程式應該會開始建置並部署至您的遠端裝置。 請確定您的裝置作用中。
在 Unity 啟動顯示畫面之後,您應該會看到白色週框方塊。 您可以手動移動、縮放或旋轉週框方塊。 放置方塊以涵蓋您想要偵測的物件。
開啟手部功能表,然後選取 [鎖定搜尋區域],以防止週框方塊進一步移動。 選取 [開始搜尋] 以啟動物件偵測。 偵測到物件時,會在該物件上呈現網格。 偵測到執行個體詳細資料會顯示在畫面上,例如更新的時間戳記和表面覆蓋率。 選取 [停止搜尋] 以停止追蹤,並移除所有偵測到的執行個體。
應用程式功能表
您也可以使用手部功能表來執行其他動作。
主要功能表
啟動搜尋/停止搜尋 – 啟動或停止物件偵測流程。
切換空間對應 – 顯示/隱藏空間對應呈現。 不論掃描是否完成,均可使用此選項進行偵錯。
追蹤器設定 – 切換啟用追蹤器設定功能表。
搜尋區域設定 – 切換啟用搜尋區域設定功能表。
啟動追蹤 – 擷取診斷資料並儲存至裝置。 如需詳細資訊,請參閱偵錯偵測問題和擷取診斷一節。
上傳追蹤 – 將診斷資料上傳至 Object Anchors 服務。
追蹤器設定功能表
高精確度 – 一種實驗性功能,用來取得更精確的姿勢。 啟用此選項會在物件偵測期間需要更多系統資源。 在此模式中,物件網格會以粉紅色呈現。 再次選取此按鈕以切換回一般追蹤模式。
寬鬆的垂直對齊 – 啟用時,允許以非垂直角度偵測物件。 適用於偵測坡道上的物件。
允許調整變更 – 允許追蹤器根據環境資訊來變更偵測到的物件大小。
覆蓋率滑桿 – 調整表面點的比例,比例相符後才能讓追蹤器偵測物件。 較低的值可讓追蹤器更準確地偵測 HoloLens 感應器難以偵測的物件,例如深色物件或高反射物件。 較高的值會降低錯誤偵測的頻率。
搜尋區域設定功能表
鎖定搜尋區域 – 鎖定區域週框方塊,以防止手部不小心移動。
自動調整搜尋區域 – 允許搜尋區域在物件偵測期間自行重新定位。
循環網格 – 將搜尋區域內的已載入網格視覺化以建立循環。 此選項可協助使用者配合難偵測的物件調整搜尋方塊。
疑難排解
提示
如果未偵測到您的物件,您可以嘗試下列步驟:
- 再次確認物件使用的模型正確無誤。
- 將搜尋區域視覺化,並確保其中涵蓋目標物件。
- 試著減少
MinSurfaceCoverage
。 - 在 Windows 裝置入口網站中,按一下 [檢視]->[3D 檢視],並確認掃描是否已完成。