練習 - 適用於 HoloLens 2 的 Azure 雲端服務
在每個連續章節中,您將新增新的 Azure 雲端服務,以擴充應用程式功能和用戶體驗,同時教導您每個 Azure 雲端服務的基本概念。
備註
此課程模組系列將著重於 HoloLens 2,但由於 Unity 的跨平臺本質,這些課程大多也適用於桌面和行動應用程式。
應用程式目標
在此課程模組系列中,您將建置 HoloLens 2 應用程式,以偵測影像中的物件並尋找其空間位置。 我們會將這些對象稱為 追蹤物件。
使用者可以建立 追蹤物件 ,透過電腦視覺、空間位置或兩者建立影像的關聯。 所有數據都必須保存至雲端。
特徵
- 數據與映像的基本管理
- 影像定型和偵測
- 將空間位置與指引儲存至其中
Azure 雲端服務
您將使用下列 Azure 雲端服務來實作上述功能:
Azure 儲存體
您將使用 Azure 記憶體 來儲存資料。 Azure 記憶體可讓您將資料儲存在數據表中,並上傳大型二進位檔,例如影像。
Azure 自定義視覺
透過 Azure AI 自定義視覺 ( Azure AI 服務的一部分),您可以將一組影像與追蹤的物件產生關聯、在您建立的集合上定型機器學習模型,以及偵測追蹤的物件。
建立和準備 Unity 專案
在本節中,您將建立新的 Unity 專案,並準備好進行 MRTK 開發。
首先,請遵循 HoloLens 2 學習路徑中的步驟,但不包括將應用程式建置到您的裝置指示,其中包括下列步驟:
- 建立 Unity 專案並提供適當的名稱,例如 Azure 雲端教學課程
- 切換組建平臺
- 匯入 TextMeshPro 基本資源
- 匯入混合實境工具組
- 設定 Unity 專案
- 建立和設定場景,併為場景提供適當的名稱,例如 AzureCloudServices
匯入教學課程資產
依照列出的順序下載並匯入下列 Unity 自定義套件:
匯入教學課程資產之後,您的 [專案] 視窗看起來應該如下所示:
準備場景
在本節中,您將透過新增一些教學預製件來準備場景。
在 [專案] 視窗中,瀏覽至 資產>MRTK.Tutorials.AzureCloudServices>Prefabs>Manager 資料夾。 按住 CTRL 按鈕時,選取 [SceneController]、 [RootMenu ] 和 [DataManager ] 以選取三個預製專案:
SceneController (prefab) 包含兩個腳本:SceneController (script) 和 UnityDispatcher (script) 。 SceneController 腳本元件包含數個 UX 函式,有助於相片擷取功能,而 UnityDispatcher 則是協助程式類別,可允許在 Unity 主線程上執行動作。
RootMenu (prefab) 是主要 UI 預製專案,可保存透過各種小型腳本元件彼此連線的所有 UI 視窗,並控制應用程式的一般 UX 流程。
DataManager (prefab) 負責與 Azure 記憶體交談,並將在下一個教學課程中進一步說明。
現在,在仍然選取三個預製項目之後,將它們拖曳到 [階層] 視窗中,將它們新增至場景:
若要將焦點放在場景中的物件,您可以按兩下 RootMenu 物件,然後稍微縮小一次。 在仍然選取 RootMenu 物件的情況下,將其 Transform 元件中的值變更為以下:
位置:X = 0.0、Y = 1.6、Z = 0.6
小提示
如果您在場景中發現大型圖示會分散注意力(例如大型外框 'T' 圖示),您可以將 Gizmos 切換為 關閉位置來隱藏它們。
設定場景
在本節中,您會將 SceneManager、 DataManager 和 RootMenu 連線在一起,以取得下一個整合 Azure 記憶體教學課程的工作場景。
連結物件
在 [階層] 視窗中,選取 DataManager 物件:
在 [偵測器] 視窗中,找出 DataManager (腳本) 元件。 您會在 On Data Manager Ready () 事件中看到空白位置。 將 SceneController 物件從 [階層] 視窗拖曳至 On Data Manager Ready () 事件。
事件的下拉式功能表現已在作用中。 選取下拉功能表,流覽至 SceneController,然後選取子選單中的 Init () 選項。
從 [階層] 視窗中,選取 SceneController 物件。 您會在 Inspector 中找到 SceneController (script) 元件。
現在有數個未填入的欄位;讓我們加以變更。 將 DataManager 物件從 Hierarchy 移至 Data Manager 欄位,然後將 RootMenu 和 > GameObject 從 Hierarchy 移至 Main Menu 欄位。
在 [階層] 視窗中,選取 MRTK XR Rig 物件。 確定 已啟用 MRTK 語音 子物件。 這可讓您開啟功能表,方法是說「開啟功能表」。
現在您的場景已準備好進行即將開始的教學課程。 別忘了將它儲存到您的專案。
準備專案建置流程
備註
在 HoloLens 2 上建置和測試並非必要。 如果您沒有 HoloLens 裝置,您可以在 HoloLens 2 模擬器 上進行測試。 您可以在 HoloLens.com 購買裝置。
在完成場景之前,我們來準備專案以建置 HoloLens 2。
1.新增其他必要功能
在 Unity 功能表中,選取 [ 編輯>項目設定... ] 以開啟 [項目設定] 視窗。
在 [項目設定] 視窗中,選取 [ 播放程式],然後選取 [發佈設定]:
在 [發佈設定] 中,向下卷動至 [ 功能 ] 區段,然後仔細檢查 InternetClient、 Microphone 和 SpatialPerception 功能(當您在教學課程開頭建立專案時啟用此功能)。 然後,啟用 InternetClientServer、 PrivateNetworkClientServer 和 網络攝影機 功能:
2.將應用程式部署至 HoloLens 2
您將無法執行 Unity 編輯器內本教學課程系列中使用的所有功能。 因此,您必須熟悉將應用程式部署至 HoloLens 2 裝置或模擬器。
小提示
如需如何建置 Unity 專案並將其部署至 HoloLens 2 的提醒,您可以參閱 使用者入門教學課程 - 建置和部署應用程式 指示。
3.在 HoloLens 2 上執行應用程式,並遵循應用程式內指示
謹慎
所有 Azure 服務都會使用因特網,因此請確定您的裝置已連線到因特網。
當應用程式在您的裝置上執行時,請授與下列要求功能的存取權:
- 麥克風
- 照相機
自定義 視覺 等服務需要這些功能才能正常運作。









![Unity 開啟 [項目設定] 的螢幕快照。](media/open-project-setting.png)

