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 開発ドキュメントを参照して、基本的なコンセプトと ワークフローを理解してください。確認すべき主な領域は次のとおりです。
- XR フレームワーク: 共有シーンのルートにカメラ コンポーネント(ヘッドセットを表す)とハンド 入力(手を表す)をアタッチして、VR Pawnを 構築する方法について説明します。
- OpenXR プラグイン: Android XR デバイスのサポートの コア インターフェースです。
- XR アーキテクチャ: Unreal が 技術スタックと XR サブシステムを処理する方法について説明します。
- プロジェクトの設定: 空間
レンダリング用に
.uprojectを構成する方法について説明します。 - グラフィック ガイダンス: 視線追跡レンダリング、マルチビュー、 可変レート シェーディング(VRS)の使用方法について説明します。
- パフォーマンスとプロファイリング: XR アプリケーションを最適化 するためのツールとテクニックについて説明します。
- ベスト プラクティス: 快適で没入感のある 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 拡張文字列 | 提供: |
|---|---|---|
デバイス アンカーの永続性 |
Android XR Extensions for Unreal |
|
レイキャスト |
Android XR Extensions for Unreal |
|
トラッキング可能なオブジェクト(平面/奥行き) |
Android XR Extensions for Unreal |
|
オブジェクト トラッキング |
Android XR Extensions for Unreal |
|
シーン メッシュ |
Android XR Extensions for Unreal |
|
顔追跡 |
Android XR Extensions for Unreal |
|
アイ トラッキング |
Android XR Extensions for Unreal |
|
パススルー カメラの状態 |
Android XR Extensions for Unreal |
|
パススルー メッシュレイヤ |
Android XR Extensions for Unreal |
|
奥行きテクスチャ |
Android XR Extensions for Unreal |
|
照明の推定 |
Android XR Extensions for Unreal |
|
パフォーマンス指標 |
Android XR Extensions for Unreal |
|
推奨の解決策 |
Android XR Extensions for Unreal |
|
ハンド インタラクション |
Android XR Extensions for Unreal |
|
デバッグユーティリティ |
Unreal ネイティブ OpenXR |
|
パフォーマンス設定 |
Unreal ネイティブ OpenXR |
|
ディスプレイのリフレッシュ レート |
Unreal ネイティブ OpenXR |
|
ハンド トラッキング メッシュ |
Android XR Extensions for Unreal |
|
スペース ワープ |
Unreal ネイティブ OpenXR |
|
Equirect2 構成レイヤ |
Unreal ネイティブ OpenXR |
|
Android スレッドの設定 |
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) の標準拡張機能を利用します。