使用 Unreal Engine 為 Android XR 開發應用程式

適用的 XR 裝置
本指南可協助您為這類 XR 裝置打造體驗。
XR 頭戴式裝置
有線 XR 眼鏡

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 開發人員說明文件,瞭解基本概念和工作流程。以下是幾個值得探索的重要領域:

開發及發布 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 擴充功能字串 提供者

裝置錨點持續性

XR_ANDROID_device_anchor_persistence

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

Raycast

XR_ANDROID_raycast

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

可追蹤項目 (平面/深度)

XR_ANDROID_trackables

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

物件追蹤

XR_ANDROID_trackables_object

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

場景網格

XR_ANDROID_scene_meshing

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

臉部追蹤

XR_ANDROID_face_tracking

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

眼動追蹤

XR_ANDROID_eye_tracking

Android XR Extensions for Unreal (v1.0.0)

穿透模式相機狀態

XR_ANDROID_passthrough_camera_state

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

穿透網格層

XR_ANDROID_composition_layer_passthrough_mesh

Android XR Extensions for Unreal (v1.0.0)

深度紋理

XR_ANDROID_depth_texture

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

光線估測

XR_ANDROID_light_estimation

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

光線估測立方體貼圖

XR_ANDROID_light_estimation_cubemap

Unreal 專用 Android XR 擴充功能 (1.1.0 版)

成效指標

XR_ANDROID_performance_metrics

Android XR Extensions for Unreal (v1.0.0)

建議解決方法

XR_ANDROID_recommended_resolution

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

手部互動

XR_EXT_hand_interaction

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

偵錯公用程式

XR_EXT_debug_utils

Unreal 原生 OpenXR

成效設定

XR_EXT_performance_settings

Unreal 原生 OpenXR

螢幕刷新率

XR_FB_display_refresh_rate

Unreal Native OpenXR

手勢追蹤網格

XR_FB_hand_tracking_mesh

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

Space Warp

XR_FB_space_warp

Unreal Native OpenXR

Equirect2 組合層

XR_KHR_composition_layer_equirect2

Unreal 原生 OpenXR

Android Thread 設定

XR_KHR_android_thread_settings

Unreal Native OpenXR

全域穿透調暗

XR_ANDROID_global_passthrough_dimming

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

系統擴充功能屬性

XR_ANDROID_enumerate_system_extension_properties

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

空間實體

XR_EXT_spatial_entity

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

空間平面追蹤

XR_EXT_spatial_plane_tracking

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

空間標記追蹤

XR_EXT_spatial_marker_tracking

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

空間錨點和持續性

XR_EXT_spatial_anchor、XR_EXT_spatial_persistence

Unreal 專用 Android XR 擴充功能 (1.0.0 版)

可視區域羽化

XR_ANDROID_viewport_feathering

Unreal 專用 Android XR 擴充功能 (1.1.0 版)

空間探索和深度光線投射

XR_ANDROID_spatial_discovery_raycast

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 外掛程式中。