混合實境功能範例和應用程式

使用者配戴並手動操作 HoloLens 的圖片

每個開發旅程一開始都會回顧其他開發人員已成功建置的內容 - 混合實境也是如此。 目前,我們所有的教學課程和範例應用程式都是在 Unity 或 Unreal 中建置。 隨著我們開發其他引擎和平台的內容,您會在目錄中的相關標題底下找到它們。

範例應用程式案例研究

開放原始碼範例應用程式是由我們的小組所建立,可協助您先取得開發 Mixed Reality 句柄。 我們已提供專案和完整的原始程式碼作為學習參考。

HoloLens 2 開放原始碼範例應用程式

這些範例應用程式是使用適用於 Unity 的 Mixed Reality 工具組所建立。

HoloLens (第一代) 開放原始碼範例應用程式

功能範例

針對下面所列的每個開發人員案例,都有一些功能範例會對應至檔中涵蓋的特定實作,並涵蓋各種開發平臺和硬體裝置。

狀況 功能範例 引擎 描述
建置基本的 Unity 混合實境案例 使用 Unity 的 OpenXR 範例 Unity C# 使用最新的 Unity 2020.LTS 和 OpenXR 外掛程式,開始使用跨平台開發人員工具。
錨定策略 本機錨點 跨應用程式會話和裝置保存和共享空間錨點。 請參閱 空間錨點 一文。
Azure Spatial Anchors 範例 使用 Azure Spatial Anchors 的基本功能建置空間感知混合實境應用程式。
QR 代碼 Unity C# 偵測環境中的 QR 代碼。
混合實境中的共同作業 使用者身分識別 Unity C# 使用 Azure Active Directory (AAD) 認證來設定 HoloLens 2 裝置。
Azure Spatial Anchors 範例 使用 Azure Spatial Anchors 的基本功能建置空間感知混合實境應用程式。
空間互動 基本全像投影範例 Windows 10 C++ 在 Windows Mixed Reality 中轉譯旋轉立方體。
場景/物件瞭解 場景瞭解範例 Unity C# 協助設計感知的混合實境應用程式。
Azure 物件錨點範例 Unity C# 使用 3D 模型偵測實體世界中的物件,並使用 Azure 物件錨點估計其 6DoF 姿勢。
關係型數據重疊 QR 代碼 Unity C# 偵測環境中的 QR 代碼。
海報追蹤器範例 Unity C# 將全像投影與真實世界對象對齊。
建置混合實境數字對應項 Unity C# 了解如何使用 Azure Digital Twins 和 Unity (即時 3D 平台) 來建立混合實境 應用程式。
擷取相機數據 混合實境擷取範例 Windows 10 C++ 擷取將真實和數位世界混合為相片或視訊的第一人稱體驗。
研究模式範例 Windows 10 C++ 在 HoloLens 裝置上存取重要感測器以取得研究應用程式。
全像攝影遠端處理 全像攝影遠端播放程式 Windows 10 C++ 使用 Wi-Fi 連線,將全像攝影內容從計算機即時串流到您的 Microsoft HoloLens。
Azure 遠端轉譯 範例 Unity C# 使用此處所列範例數據的資源來測試 Azure 遠端轉譯 服務。
工作管理和指引 Dynamics 365 Remote Assist 使用 HoloLens、HoloLens 2、Android 或 iOS 裝置上的 Dynamics 365 Remote Assist,從不同位置共同作業,更有效率地共同作業。
Dynamics 365 Guides 協助操作員在工作流程期間學習,方法是提供全像攝影指示,以在需要時和何處進行。
世界鎖定全像投影 世界鎖定物理範例 Unity C# 探索世界鎖定工具世界鎖定座標系統所啟用的一些虛擬物理體驗。
空間針腳範例 Unity C# 更接近真實世界應用程式的內部運作方式,此應用程式需要將大型物件或對象與真實世界功能對齊。 空間釘選範例提供簡化且更專注的空格針腳功能檢視。
光線針腳範例 Unity C# 示範如何使用 MRTK 能供性手動操作標記物件到位置來設定空間釘選。
使用 Azure Spatial Anchors 世界鎖定工具範例 Unity C# 提供穩定的座標系統,可在會話之間保存,並在應用程式中跨裝置共用。 這可在結合適用於 Unity (WLT) 的 World 鎖定工具與 Azure Spatial Anchors (ASA) 時進行。
管理電源和熱力 管理電源 & 熱 Unity C#、Win32 C++ 當 HoloLens 2 在暖環境中執行,或具有大量效能需求 (CPU/GPU 使用量、周邊使用量等 ) 時,PowerThermalNotification SDK 可用來訂閱通知事件,讓裝置運作時間較長。 請參閱 PowerThermalNotification API 參考

建置基本 OpenXR 案例

如果您不熟悉建置基本的混合實境案例,這些範例將協助您開始使用。

針對以 Unity 2020 為目標來建置 HoloLens 2 或混合實境應用程式的開發人員,可以使用 OpenXR 外掛程式來取代 Windows XR 外掛程式,以取得更好的跨平臺相容性。 Mixed Reality OpenXR 外掛程式也適用於最新版本的 Mixed Reality Toolkit (2.7.x) 。

範例 參考文章 平台 描述
使用 Unity 範例 Mixed Reality OpenXR 使用 OpenXR 外掛程式 Unity C# 這些範例專案示範如何使用 Mixed Reality OpenXR 外掛程式來建置適用於 HoloLens 2 或 Mixed Reality 頭戴式裝置的 Unity 應用程式。

涵蓋下列範例案例:
OpenXR MRTK Base Unity 專案 請參閱 範例自述檔 Unity C# 此存放庫包含使用 Microsoft Mixed Reality Toolkit Foundations 和 Standard Assets 套件和 Microsoft OpenXR 外掛程式套件所設定的 Unity 專案。
使用 Unity 2020.3 和 MRTK 2.7.2 什麼是 MRTK Unity C# MRTK-Unity 是 Microsoft 驅動的專案,提供一元件和功能,可用來加速 Unity 中的跨平臺 MR 應用程式開發。
OpenXR Explorer 請參閱 範例自述檔 C++、Windows、Linux、OpenXR OpenXR Explorer 是適用於 OpenXR 開發人員的實用偵錯工具。 它可讓您在 OpenXR 執行時間之間輕鬆切換、顯示運行時間支援的延伸模組清單,以及允許檢查通用屬性和列舉,以及 OpenXR 規格相關部分的直接連結!
適用於 Mixed Reality 開發人員的 OpenXR 範例 什麼是 OpenXR C++ 這些 OpenXR 範例使用 C++17 和 Direct3D 11。 相同的原始碼適用於在 windows Desktop 上執行且具有 Windows Mixed Reality 沉浸式頭戴式裝置的 HoloLens 2 和 Win32 應用程式上執行的 UWP 應用程式。

混合實境中的共同作業

在混合實境中,人們幾乎一起分享體驗並共同作業。 此處所列的範例示範一些可讓這類共同作業運作的功能。

使用者身分識別

此範例會使用 Azure Active Directory (AAD) 認證來設定 HoloLens 2 裝置,然後將裝置設定為使用鳶尾花登入。

範例 參考文章
HoloLens 2 上的 AAD 登入 Microsoft 身分識別平台 概觀

空間互動 - 基本全像投影範例

此範例會在 Windows Mixed Reality 上執行,並轉譯旋轉的 Cube。 您可以將 Cube 放在新的位置,並允許各種輸入方法與 Cube 互動。 此範例適用於已連結頭戴式裝置的計算機,也適用於 Microsoft HoloLens。

範例 參考文章
Windows 通用範例 - 基本全像投影 請參閱 範例自述檔

場景理解

場景理解提供 Mixed Reality 開發人員具有結構化的高階環境表示法。 場景瞭解是專為開發直覺式和直覺感知應用程式而設計,方法是結合現有混合實境運行時間的強大功能。 這些運行時間是高度精確但較不結構化的空間對應,以及新的 AI 驅動運行時間。

範例 參考文章 平台 描述
Mixed Reality Scene Understanding 範例 (SU SDK) 場景理解 Unity C# 和 SU SDK 以 Unity 為基礎的範例應用程式,展示 HoloLens 2 上的 Scene Understanding。
Scene Understanding 範例 (MRTK + SU SDK) 場景了解觀察者 (MRTK) Unity C#、MRTK + SU SDK MRTK + 場景瞭解 SDK 範例。

關係型數據重疊

關係型數據是背景資訊,可提供對事件、人員或專案更廣泛的瞭解。 透過擴增實境 (AR) ,這項資訊可以顯示並精確對齊實體物件,以提供深入解析、指示、服務記錄和其他重要數據。

QR 代碼

HoloLens 2 可以偵測頭戴式裝置周圍環境中的 QR 代碼,而在每個代碼的真實世界位置建立座標系統。

範例 參考文章
Unity 中的 QR 代碼追蹤 QR 代碼

海報追蹤器範例

將全像投影對齊真實世界物件,或將多個 HoloLens 裝置對齊一組通用世界座標,讓每個人都會在相同位置看到相同的全像投影,這通常很有説明。 例如,在您的 Unity 場景中,您可以新增「海報」,以將場景錨定 (或許是遊戲板) ,然後在其周圍新增全像投影。 然後您可以列印海報、將其配置在表格上,然後執行校正/對齊工具,這會移動海報的全像攝影版本,使其與海報的實體版本一致。 這會將所有連結的全像投影移至正確的對齊方式。

範例 參考文章
海報校正範例 請參閱 範例自述檔

建置混合實境數字對應項

在此範例中,您將瞭解如何使用 Azure Digital Twins 和 Unity,以即時 3D 平臺建立混合實境 HoloLens 2 應用程式。

範例 參考文章
使用 Azure Digital Twins 和 Unity 建置混合實境數位對應項 完整學習路徑

相機擷取

您 Mixed Reality 裝置擷取的非結構化環境感測器數據會轉換成我們周圍實體世界的強大抽象或全像攝影表示法。

全像攝影混合實境擷取

混合實境擷取 (MRC) 擷取結合真實和數位世界的第一人經驗作為相片或視訊,並即時分享您與其他人看到的內容。

範例 參考文章
混合實境擷取範例 混合實境擷取

研究模式

研究模式是在第一代 HoloLens 中引進,可存取裝置上的重要感測器,特別是用於不適合部署的研究應用程式。 下列範例應用程式是用來存取和錄製研究模式數據流,以及使用 內建和外部的範例。

範例應用程式 參考文章
HoloLens (第一代) 研究模式
HoloLens 2 研究模式

全像攝影遠端處理

全像攝影遠端處理播放程式是一種隨附的應用程式,可連線至支援全像攝影遠端處理的電腦應用程式和遊戲。 全像攝影遠程會使用 Wi-Fi 連線,即時將全像攝影內容從計算機串流到您的 Microsoft HoloLens,且在 HoloLens (第一代) 和 HoloLens 2 上受到支援。

範例 參考文章
全像攝影遠端處理範例 全像攝影遠端概觀