使用 OpenXR 進行開發

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

 

OpenXR 文字標誌

Android XR 支援 OpenXR 1.1 規格和特定供應商擴充功能,因此支援使用 OpenXR 建構的應用程式。OpenXR 是一項開放標準,可讓您使用一組通用 API,在各種 XR 裝置上建立沉浸式互動體驗。

功能

Android XR 支援多項功能,可讓您使用 OpenXR 建構應用程式,充分發揮 XR 裝置的獨特功能。這些功能包括:

空間實體架構
統一的基礎,可理解場景並進行空間推理。允許應用程式探索、查詢及追蹤環境中的實體空間實體 (包括平面、3D 網格、定界框、圖片、標記和註解)、使用空間邊界篩選探索結果、查詢實體原型、建立附加至實體的空間錨點、執行空間實體和網格光線投射,以及在應用程式工作階段中保留空間實體。
空間容器
跨平台空間視窗 API (XR_EXT_spatial_container 和 XR_EXT_spatial_container_self_rendering),可讓應用程式使用 OpenXR 交換鏈和組合層,建立及算繪可顯示的 3D 空間容器 (包括有界和沉浸式),讓使用者同時體驗多個空間容器。
地理空間和地理空間錨點
可讓應用程式使用 Google 的視覺定位服務 (VPS) 和 GPS 追蹤地球相對姿勢、向 Google Cloud 服務驗證,以及在特定經緯度和高度放置地理空間錨點和表面錨點。
可追蹤項目
支援平面偵測,也就是辨識及追蹤環境中平面的能力,可根據現實世界放置虛擬物件,以及錨點,也就是可附加至現實世界物件或位置的虛擬參考點,讓虛擬內容即使在使用者移動時,也能保持準確的位置和方向。
光線投射
這項技術用於判斷虛擬射線與場景中物件或世界網格的交點,有助於選取及操控虛擬元素等互動。
錨點持續性
可跨多個工作階段儲存及還原錨點,在環境中持續且一致地放置虛擬內容。
物件追蹤
追蹤現實世界中滑鼠、鍵盤和其他實體物件的能力。
圖片和標記追蹤
偵測及追蹤環境中平面參考圖像和實體標記 (例如 AprilTag 和 ArUco 標記) 的能力。
QR code 追蹤
追蹤實體環境中的 QR code 並解碼資料。
深度紋理
生成深度圖,提供相機與場景中物體之間的距離資訊,實現更逼真的遮蔽和互動效果。
直通
可將真實世界的相機畫面與虛擬內容融合,打造混合實境體驗,完美結合實體和數位世界。
全域穿透調暗
允許應用程式設定及查詢全域透視調光等級,將虛擬內容與實體環境融合,並在調光等級變更時接收事件。
可視區域羽化
公開執行階段套用的羽化周邊區域,讓應用程式在不受周邊羽化影響的安全區域內,配置 UI 元素。
場景網格
可取得環境的 3D 網格,用於物理、遮蔽和其他世界感知互動。
組合圖層直通
允許使用多邊形穿透合成層剪裁,可用於將真實世界物件帶入場景。
臉部追蹤
可從視覺和音訊資料來源追蹤使用者的臉部特徵,建立更逼真、更具表現力的虛擬化身和虛擬角色。
眼動追蹤
提供使用者眼睛的位置和方向,讓虛擬化身的眼睛姿勢更逼真。
手勢追蹤
追蹤使用者手部位置和動作的能力。
手部網格
以低多邊形網格準確呈現使用者的手部。已針對平台到應用程式的推送作業進行最佳化,確保您能獲得最佳效能。這是其他使用繫結姿勢和混合權重的擴充功能的替代方案。
身軀追蹤
使用頭部和手部追蹤輸入內容,估算使用者的身體關節位置和比例。
光線估測
用於光照模型 (包括定向、環境、球諧和立方體光照),以符合使用者的實際光照條件。

支援的輸入裝置

Android XR 也支援下列輸入裝置。

手部互動
辨識特定手勢,例如捏合、滑動和指向,讓使用者能透過手勢和手部動作與虛擬物件互動。
視線互動
追蹤使用者的眼球運動,讓他們能用視線選取虛擬物件並與之互動。
6DoF 動態控制器
追蹤控制器位置和動作,以及方向鍵和按鈕繫結,用於觸發動作或應用程式內的懸停事件。
滑鼠互動
使用者可透過 3D 空間中的滑鼠游標與物件互動

支援的效能功能

Android XR 支援下列效能相關功能。

眼動追蹤中心凹
允許應用程式只在視線焦點處,顯示解析度較高的內容。
Space warp
使用速度向量和深度紋理資訊產生補間影格,有效提高影格率,讓使用者沉浸在體驗中
影格合成
使用應用程式提供的動作向量和影格資料,合成中間影格,提升視覺流暢度和影格率。
效能指標
提供目前 XR 裝置、合成器和 XR 應用程式在執行階段的 Android XR 效能指標,包括 CPU 影格時間、GPU 影格時間、GPU 使用率、CPU 頻率、每秒影格數等。

如需支援功能和擴充功能的完整清單,請參閱「OpenXR 功能總覽」。

支援的引擎

下列引擎支援使用 Android XR 進行 OpenXR 開發。

Unity

Android XR 的 Unity 支援以 OpenXR 為基礎,可讓開發人員使用 Unity 6 打造體驗。如要進一步瞭解如何使用 Unity 建構 XR 應用程式,請參閱 Unity 總覽。

Unreal Engine

Unreal Engine 透過 OpenXR 標準支援 Android XR,讓您在 Unreal Engine 5 中使用標準工具和工作流程。如要進一步瞭解如何使用 Unreal Engine 建構 XR 應用程式,請參閱「Unreal Engine 總覽」。

Godot

Godot 透過 OpenXR 整合支援 Android XR,可讓您使用標準 Godot 工作流程,建構及匯出 Android XR 應用程式。如要進一步瞭解如何使用 Godot 建構 XR 應用程式,請參閱 Godot 總覽。


OpenXR™ 和 OpenXR 標誌是 Khronos Group Inc. 擁有的商標,並已在中國、歐盟、日本和英國註冊為商標。