快速入門:在 Unity 中使用 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 服務建立帳戶。

  1. 移至 Azure 入口網站,並選取 [建立資源]

    Create a new resource

  2. 搜尋 物件錨點 資源。

    搜尋 「Object Anchors」。

    Select the Object Anchors Resource

    在搜尋結果中的 [物件錨點] 資源上,選取 [建立 -> 物件錨點]。

    Create an Object Anchors Resource

  3. [Object Anchors 帳戶] 對話方塊中:

    • 輸入唯一資源名稱。
    • 選取資源要連結的訂用帳戶。
    • 建立或選取現有的資源群組。
    • 選取希望資源所在的區域。

    Enter Object Anchors resource account details

    選取 [建立] 以開始建立資源。

  4. 建立資源之後,選取 [前往資源]

    Go to resource

  5. 在概觀頁面上:

    記下 帳戶網域。 稍後您將需要此資訊。

    Copy the account domain for your Object Anchors resource

    記下 帳戶標識碼。 稍後您將需要此資訊。

    Copy the account ID for your Object Anchors resource

    移至 [ 存取金鑰 ] 頁面並記下 [主要金鑰]。 稍後您將需要此資訊。

    Copy the account key for your Object Anchors resource

設定您的裝置

若要將應用程式部署至 HoloLens,您必須將 HoloLens 與電腦配對。

  1. 在您的 HoloLens 中,流覽至 [設定 -> 更新與安全性 -> 適用於開發人員
  2. 按兩下 [配對],讓畫面保持開啟狀態,直到您在第一次部署期間將 PIN 輸入 Visual Studio 為止。

上傳模型

執行應用程式之前,您必須讓模型可供應用程式使用。 如果您還沒有物件錨點模型,請遵循建立模型以建立模型中的 指示來建立一個模型 。 然後,返回這裡。

當您的 HoloLens 開啟電源並連線到開發裝置 (PC),請遵循下列步驟,將模型上傳至 HoloLens 上的 3D Objects 資料夾:

  1. 選取並複製您想要使用的模型,方法是一起按 Ctrl 鍵和 C(Ctrl + C)。

  2. 一起按下 Windows 標誌鍵和 E 鍵(Win + E)以啟動 檔案總管。 您應該會看到 HoloLens 列於左窗格中的其他磁碟驅動器和資料夾。

    file explorer

  3. 點選 HoloLens 連結,即可在右窗格的 HoloLens 裝置上顯示記憶體。

    open HoloLens internal storage

  4. 在 檔案總管 中,移至 [內部 儲存體 > 3D 物件]。 現在,您可以按下 Ctrl 鍵和 V,將模型貼到 [3D 物件 ] 資料夾中(Ctrl + V)。

    paste models in 3D Objects folder

開啟範例專案

執行下列命令來複製範例存放

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/basic ,開啟專案。

請遵循這裡的指示,使用 Unity 封裝管理員 將您下載的 Azure Object Anchors 套件匯入 Unity 專案中。

設定帳戶資訊

下一個步驟是將應用程式設定為使用您的帳戶資訊。 您已記下 [建立物件錨點帳戶] 區段中的 [帳戶密鑰]、[帳戶標識符] 和 [帳戶網域] 值

在 [ 專案 ] 窗格中,移至 Assets\AzureObjectAnchors.SDK\Resources

選取 [ObjectAnchorsConfig]。 在 [偵測器] 窗格中,輸入 Account Key 作為 [物件錨點帳戶索引鍵] 的值Account ID作為 [物件錨點帳戶標識符] 的值,以及 Account Domain 作為 [物件錨點帳戶網域] 的值

建置並執行應用程式

建置範例場景

在 Unity 編輯器中,流覽至 Assets/MixedReality.AzureObjectAnchors/Scenes,然後開啟 AOASampleScene,並將它新增至場景組建清單。

選取 [檔案 -> 建置 設定]。 選取 [通用 Windows 平台,然後選取 [切換平臺]。 如果 Unity 編輯器指出您需要先下載某些元件,請下載並安裝它們。 請遵循下列螢幕快照來設定組建設定。 請確定 只有AOASampleScene 旁邊有複選標記:不應該包含所有其他場景。

build settings

選取 [建置 ],然後選取輸出資料夾。 您現在可以在輸出資料夾中產生 VS 專案。

建置和部署應用程式

.sln開啟 Unity 所產生的檔案。 將組建組態變更為下列專案。

build configuration

接下來,您必須設定 遠端電腦IP位址 ,以部署和偵錯應用程式。

以滑鼠右鍵按兩下 [應用程式] 項目,然後選取 [ 屬性]。 在 [屬性] 頁面中,選取 [ 組態屬性 -> 偵錯]。 將 [ 機器名稱] 值變更為 HoloLens 裝置的 IP 位址,然後按兩下 [ 套用]。

remote debug

關閉屬性頁。 按兩下 [ 遠端電腦]。 應用程式應該會開始建置並部署至您的遠端裝置。 請確定您的裝置為作用中。

在 Unity 啟動顯示畫面之後,您會看到一則訊息,指出對象觀察者已初始化。

應用程式會在目前檢視欄位中尋找物件,然後在偵測到之後追蹤物件。 實例會在距離使用者位置 6 公尺時移除。 偵錯文字會顯示執行個體的詳細資料,例如識別碼、更新的時間戳記和表面涵蓋範圍比例。

疑難排解

提示

如果未偵測到您的物件,您可以嘗試下列步驟:

  1. 請仔細檢查您使用的是對象的正確模型。
  2. 將搜尋區域可視化,並確保它涵蓋目標物件。
  3. 請嘗試減少 MinSurfaceCoverage
  4. 在 Windows 裝置入口網站中,單擊 [ 檢視 -> 3D 檢視],並確認掃描是否已完成。

下一步