Android XR 向け Unreal Engine で開発する

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

Unreal Engine の XR 開発サポートは 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 のコア仕様をサポートしています。また、Android XR Extensions for Unreal は Android XR とその他の特定の拡張機能をサポートしているため、すぐに開発を始めることができます。

Unreal Engine XR の基本

Unreal または XR 開発を初めて使用する場合は、Unreal の XR 開発ドキュメントを参照して、基本的なコンセプトと ワークフローを理解してください。確認すべき主な領域は次のとおりです。

Android 向けのアプリの開発と公開

Unreal Engine には、Android 向けに 開発、ビルド、 公開するための包括的なドキュメントが用意されています。このドキュメントでは、エンジン内での 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 ドキュメントをご覧ください。

Android XR Extensions for Unreal

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

サポートを受ける

問題が発生した場合は、サポートページで Unreal Engine のサポート セクション を参照して サポートを受けてください。

入力とインタラクション

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

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

Android XR は、Unreal Engine 内で次の特定のインタラクション方法をサポートしています。

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

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

ハンド インタラクション

ハンド インタラクションは、OpenXR ハンド トラッキング拡張機能によって提供されます。ハンドジョイントのデータとポーズには、ブループリントまたは C++ の XR トラッキング コンポーネントからアクセスできます。

アイゲイズ インタラクション

アイゲイズ データは標準の入力ポーズとして取得できるため、UI フォーカスやソーシャル プレゼンス機能を操作できます。これには android.permission.EYE_TRACKING_FINE 権限が必要です。

顔追跡

リアルタイムの表情データにアクセスして、アバターをアニメーション化したり、ソーシャル インタラクションを操作したりできます。これには XR_ANDROID_face_tracking 拡張機能を使用します。

サポートされる拡張機能

Unreal で Android XR 向けに開発する場合、次の OpenXR 拡張機能がサポートされます。

特徴や機能 OpenXR 拡張文字列 提供:

デバイス アンカーの永続性

XR_ANDROID_device_anchor_persistence

Android XR Extensions for Unreal

レイキャスト

XR_ANDROID_raycast

Android XR Extensions for Unreal

トラッキング可能なオブジェクト(平面/奥行き)

XR_ANDROID_trackables

Android XR Extensions for Unreal

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

XR_ANDROID_trackables_object

Android XR Extensions for Unreal

シーン メッシュ

XR_ANDROID_scene_meshing

Android XR Extensions for Unreal

顔追跡

XR_ANDROID_face_tracking

Android XR Extensions for Unreal

アイ トラッキング

XR_ANDROID_eye_tracking

Android XR Extensions for Unreal

パススルー カメラの状態

XR_ANDROID_passthrough_camera_state

Android XR Extensions for Unreal

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

XR_ANDROID_composition_layer_passthrough_mesh

Android XR Extensions for Unreal

奥行きテクスチャ

XR_ANDROID_depth_texture

Android XR Extensions for Unreal

照明の推定

XR_ANDROID_light_estimation

Android XR Extensions for Unreal

パフォーマンス指標

XR_ANDROID_performance_metrics

Android XR Extensions for Unreal

推奨の解決策

XR_ANDROID_recommended_resolution

Android XR Extensions for Unreal

ハンド インタラクション

XR_EXT_hand_interaction

Android XR Extensions for Unreal

デバッグユーティリティ

XR_EXT_debug_utils

Unreal ネイティブ OpenXR

パフォーマンス設定

XR_EXT_performance_settings

Unreal ネイティブ OpenXR

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

XR_FB_display_refresh_rate

Unreal ネイティブ OpenXR

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

XR_FB_hand_tracking_mesh

Android XR Extensions for Unreal

スペース ワープ

XR_FB_space_warp

Unreal ネイティブ OpenXR

Equirect2 構成レイヤ

XR_KHR_composition_layer_equirect2

Unreal ネイティブ OpenXR

Android スレッドの設定

XR_KHR_android_thread_settings

Unreal ネイティブ OpenXR

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

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