Unreal Engine 對 XR 開發的支援是以 OpenXR 標準為基礎,確保 Unreal 原生支援 Android XR 支援的 OpenXR 功能。
請按照本指南瞭解:
- Unreal Engine 支援 Android XR
- Unreal Engine XR 基本概念
- 開發及發布 Android XR 應用程式
- Android XR 的 Unreal Engine 外掛程式
- 取得支援
- 輸入和互動
- 支援的擴充功能
Android XR 的 Unreal Engine 支援
為 Android XR 建構 Unreal 應用程式時,您可以運用最新版 Unreal Engine 5 的空間運算功能。Unreal Engine 5 支援核心 OpenXR 規格,而 Unreal 的 Android XR 擴充功能則支援 Android XR 和其他特定擴充功能,可協助您快速上手。
Unreal Engine XR 基本概念
如果您是 Unreal 或 XR 開發新手,可以參閱 Unreal 的 XR 開發人員說明文件,瞭解基本概念和工作流程。以下是幾個值得探索的重要領域:
- XR 架構:瞭解如何建構 VR Pawn,方法是將相機元件 (代表頭戴式裝置) 和手部輸入 (代表手部) 附加至共用場景根。
- OpenXR 外掛程式:Android XR 裝置支援的核心介面。
- XR 架構:Unreal 如何處理技術堆疊和 XR 子系統。
- 專案設定:設定
.uproject以進行空間算繪。 - 圖形指南:利用凹窩式算繪、多視圖和可變速率陰影 (VRS)。
- 效能和剖析:最佳化 XR 應用程式的工具和技術。
- 最佳做法:設計和開發指南,用於打造舒適且身歷其境的 XR 體驗。
開發及發布 Android 應用程式
Unreal Engine 提供開發、建構及發布 Android 應用程式的完整說明文件。本文件說明如何在引擎中管理 Android 權限、設定 Android 建構設定 (依序前往「專案設定」>「Platforms」>「Android」),以及使用 Unreal Automation Tool (UAT)。
此外,請參閱封裝及發行 Android XR 應用程式的說明文件,瞭解在 Google Play 商店發行空間應用程式的具體規定。請務必遵守沉浸式體驗品質指南,在 Android XR 上提供一致且舒適的使用者體驗。
Android XR 的 Unreal Engine 外掛程式
有兩個核心外掛程式,可支援建構 Android XR 的 Unreal 應用程式。這些外掛程式是透過「Plugins」選單 (依序點選「Edit」>「Plugins」) 管理。
Android XR OpenXR 外掛程式
Android XR OpenXR 外掛程式是主要引擎介面,可為 Unreal 新增 Android XR 支援。這項服務會實作空間追蹤、環境理解和感知所需的 OpenXR 擴充功能。如要瞭解如何新增及設定這個外掛程式,請參閱 Unreal Engine OpenXR 說明文件。
Unreal 專用 Android XR 擴充功能
Unreal 的 Android XR 擴充功能 (v1.1.0,支援 Unreal Engine 5.6.x 和 5.8.x) 補充了基本 OpenXR 支援,包括其他功能,可協助您打造沉浸式體驗,例如空間實體、空間和深度光線投射、可視區域羽化、光線估計立方體貼圖、進階手部網格資料,以及特定硬體最佳化。如要瞭解如何匯入及設定這個套件,請參閱 Android XR Extensions 快速入門導覽課程,或參閱 Android XR Extensions for Unreal API 參考資料。
取得支援
如果遇到問題,請參閱支援頁面的 Unreal Engine 支援部分,尋求協助。
輸入和互動
如要打造互動式空間體驗,必須將實體動作對應至數位動作。Unreal Engine 結合 Enhanced Input 系統和 OpenXR,可同時處理動作控制器和手勢追蹤。設定輸入動作和輸入對應情境,即可建立靈活的互動方式 (例如抓取、指向和 UI 導覽),在不同的 Android XR 輸入法之間順暢運作。
如需建構這些機制的完整指南,請參閱 Unreal Engine 的製作互動式 XR 體驗說明文件。
Android XR 支援 Unreal Engine 中的下列特定互動方法:
互動設定檔
您可以在「專案設定」的「OpenXR」部分設定互動設定檔。這樣一來,應用程式就能在不同的控制器和追蹤方法之間,維持一致的輸入對應。
手部互動
手部互動功能是透過 OpenXR 手勢追蹤擴充功能提供。您可以透過 Blueprints 或 C++ 中的 XR 追蹤元件,存取手部關節資料和姿勢。
視線互動
視線資料可做為標準輸入內容擷取,讓您驅動 UI 焦點或社交形象功能。這項操作需要 android.permission.EYE_TRACKING_FINE 權限。
臉部追蹤
存取即時臉部表情資料,為虛擬化身製作動畫或推動社交互動。這會使用 XR_ANDROID_face_tracking 擴充功能。
支援的擴充功能
在 Unreal 中開發 Android XR 時,支援下列 OpenXR 擴充功能:
| 功能或能力 | OpenXR 擴充功能字串 | 提供者 |
|---|---|---|
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Unreal 專用 Android XR 擴充功能 (1.1.0 版) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
偵錯公用程式 |
Unreal 原生 OpenXR |
|
成效設定 |
Unreal 原生 OpenXR |
|
螢幕刷新率 |
Unreal Native OpenXR |
|
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Space Warp |
Unreal Native OpenXR |
|
Equirect2 組合層 |
Unreal 原生 OpenXR |
|
Android Thread 設定 |
Unreal Native OpenXR |
|
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Unreal 專用 Android XR 擴充功能 (1.0.0 版) |
||
Unreal 專用 Android XR 擴充功能 (1.1.0 版) |
||
Unreal 專用 Android XR 擴充功能 (1.1.0 版) |
擴充功能由下列其中一個來源提供:
- Android XR Extensions for Unreal:這些是專為 Android XR 平台開發的 Google 專屬擴充功能 (
ANDROID) 和空間實體擴充功能 (EXT)。如要使用這些空間功能,請在.uproject中安裝並啟用 Android XR Extensions 外掛程式,並參閱 Android XR Extensions for Unreal API 參考資料,瞭解 Blueprint 和 C++ 的用法。 - Unreal 原生 OpenXR:這些功能會運用 Khronos (
KHR)、Extension (EXT) 和 Meta (FB) 標準擴充功能,這些擴充功能已直接整合並維護在 Unreal Engine 的核心 OpenXR 外掛程式中。