Android XR 向け Unreal Engine で開発する

対象の XR デバイス
このガイダンスは、次のようなタイプの XR デバイス向けのエクスペリエンスを構築する際に役立ちます。
XR ヘッドセット
有線 XR グラス

XR 開発用の Unreal Engine のサポートは OpenXR 標準に基づいて構築されており、Android XR でサポートされている OpenXR 機能が Unreal でネイティブにサポートされています。

このガイドでは、次のことについて説明します。

  • Android XR 向けの Unreal Engine のサポート
    • 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 向けの開発、ビルド、公開に関する包括的なドキュメントが用意されています。このドキュメントでは、Engine 内での Android 権限の管理、Android ビルド設定の構成([Project Settings] > [Platforms] > [Android] から)、Unreal Automation Tool(UAT)の使用について説明します。

また、Google Play ストアで配信される空間アプリに適用される特定の要件については、Android XR 向けアプリのパッケージ化と配信のドキュメントをご覧ください。Android XR で一貫性があり快適なユーザー エクスペリエンスを提供するため、アプリが没入型エクスペリエンスの品質に関するガイドラインにも準拠していることを確認してください。

Android XR 用 Unreal Engine プラグイン

Android XR 向け Unreal アプリのビルドをサポートする 2 つのコアプラグインがあります。これらのプラグインは、[Plugins] メニュー([Edit] > [Plugins])で管理します。

Android XR OpenXR プラグイン

Android XR OpenXR プラグインは、Unreal に Android XR のサポートを追加する主要なエンジン インターフェースです。空間トラッキング、環境認識、知覚に必要な OpenXR 拡張機能を実装します。このプラグインを追加して構成する方法については、Unreal Engine OpenXR のドキュメントをご覧ください。

Unreal 向け Android XR 拡張機能

Unreal 用の Android XR 拡張機能は、高度なハンド メッシュデータや特定のハードウェア最適化など、没入感のあるエクスペリエンスの構築に役立つ追加機能を含め、ベースの OpenXR サポートを補完します。このパッケージをインポートして構成する方法については、Android XR 拡張機能のクイックスタートをご覧ください。

サポートを受ける

問題が発生した場合は、サポートページの Unreal Engine のサポート セクションをご覧ください。

入力と操作

インタラクティブな空間エクスペリエンスを作成するには、物理的な動きをデジタル アクションにマッピングする必要があります。Unreal Engine は、OpenXR と組み合わせた拡張入力システムを使用して、モーション コントローラとハンド トラッキングの両方を処理します。入力アクションと入力マッピング コンテキストを設定することで、さまざまな Android XR 入力方法でシームレスに動作する、つかむ、指す、UI ナビゲーションなどの柔軟なインタラクションを作成できます。

これらのメカニズムの構築に関する包括的なガイドについては、Unreal Engine のインタラクティブな XR エクスペリエンスの作成に関するドキュメントをご覧ください。

Android XR は、Unreal Engine 内で次の特定の操作方法をサポートしています。

インタラクション プロファイル

インタラクション プロファイルは、[プロジェクトの設定] の [OpenXR] セクションで構成できます。これにより、アプリはさまざまなコントローラとトラッキング方法で一貫した入力マッピングを維持できます。

手の操作

手の操作は OpenXR ハンド トラッキング拡張機能を通じて提供されます。ブループリントまたは 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 拡張機能

Raycast

XR_ANDROID_raycast

Unreal 向け Android XR 拡張機能

トラッカブル(平面/奥行き)

XR_ANDROID_trackables

Unreal 向け Android XR 拡張機能

オブジェクト トラッキング

XR_ANDROID_trackables_object

Unreal 向け Android XR 拡張機能

シーン メッシュ

XR_ANDROID_scene_meshing

Unreal 向け Android XR 拡張機能

顔追跡

XR_ANDROID_face_tracking

Unreal 向け Android XR 拡張機能

アイ トラッキング

XR_ANDROID_eye_tracking

Unreal 向け Android XR 拡張機能

パススルー カメラの状態

XR_ANDROID_passthrough_camera_state

Unreal 向け Android XR 拡張機能

パススルー メッシュレイヤ

XR_ANDROID_composition_layer_passthrough_mesh

Unreal 向け Android XR 拡張機能

深度テクスチャ

XR_ANDROID_depth_texture

Unreal 向け Android XR 拡張機能

照明の推定

XR_ANDROID_light_estimation

Unreal 向け Android XR 拡張機能

パフォーマンス指標

XR_ANDROID_performance_metrics

Unreal 向け Android XR 拡張機能

推奨の解決策

XR_ANDROID_recommended_resolution

Unreal 向け Android XR 拡張機能

手の操作

XR_EXT_hand_interaction

Unreal 向け Android XR 拡張機能

Debug Utils

XR_EXT_debug_utils

Unreal Native OpenXR

パフォーマンス設定

XR_EXT_performance_settings

Unreal ネイティブ OpenXR

ディスプレイのリフレッシュ レート

XR_FB_display_refresh_rate

Unreal ネイティブ OpenXR

ハンド トラッキング メッシュ

XR_FB_hand_tracking_mesh

Unreal 向け Android XR 拡張機能

Space Warp

XR_FB_space_warp

Unreal ネイティブ OpenXR

Equirect2 構成レイヤ

XR_KHR_composition_layer_equirect2

Unreal ネイティブ OpenXR

Android スレッド設定

XR_KHR_android_thread_settings

Unreal ネイティブ OpenXR

Global Passthrough Dimming

XR_ANDROID_global_passthrough_dimming

Unreal 向け Android XR 拡張機能(v1.0.0 安定版)

システム拡張機能のプロパティ

XR_ANDROID_enumerate_system_extension_properties

Unreal 向け Android XR 拡張機能(v1.0.0 安定版)

空間エンティティとマーカー トラッキング

XR_ANDROID_trackables_marker

Unreal 向け Android XR 拡張機能(v1.0.0 安定版)

拡張機能は、次のいずれかのソースから提供されます。

  • Android XR Extensions for Unreal: Android XR プラットフォーム向けに開発された Google 固有の拡張機能(ANDROID)です。これらの空間機能を利用するには、.uprojectAndroid XR Extensions プラグインをインストールして有効にする必要があります。
  • Unreal Native OpenXR: これらの機能は、Unreal Engine のコア OpenXR プラグインに直接統合され、維持されている Khronos(KHR)、Extension(EXT)、Meta(FB)の標準拡張機能を活用します。