XR 開発向けの Unreal Engine のサポートは OpenXR 標準に基づいており、Android XR でサポートされている OpenXR 機能が Unreal でネイティブにサポートされています。
このガイドでは、次の内容について説明します。
- 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 デベロッパー向けドキュメントを参照して、基本的なコンセプトとワークフローを理解してください。主な領域をいくつかご紹介します。
- XR フレームワーク: カメラ コンポーネント(ヘッドセットを表す)と手入力(手を表す)を共有シーンルートにアタッチして、VR ポーンを構築する方法を学びます。
- OpenXR プラグイン: Android XR デバイスをサポートするためのコア インターフェース。
- XR アーキテクチャ: Unreal が技術スタックと XR サブシステムを処理する方法。
- プロジェクトの設定: 空間レンダリング用に
.uprojectを構成します。 - グラフィック ガイダンス: 中心窩レンダリング、マルチビュー、可変レート シェーディング(VRS)を利用します。
- パフォーマンスとプロファイリング: XR アプリケーションを最適化するためのツールと手法。
- ベスト プラクティス: 快適で没入感のある XR エクスペリエンスを作成するための設計と開発のガイドライン。
Android 向けアプリを開発、公開する
Unreal Engine には、Android 向けの開発、ビルド、公開に関する包括的なドキュメントが用意されています。このドキュメントでは、Engine 内での Android 権限の管理、Android ビルド設定の構成([プロジェクト設定] > [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 プラグインは、Android XR のサポートを Unreal に追加する主要なエンジン インターフェースです。空間トラッキング、環境認識、知覚に必要な OpenXR 拡張機能を実装します。このプラグインを追加して構成する方法については、Unreal Engine OpenXR のドキュメントをご覧ください。
Unreal 向け Android XR 拡張機能
Unreal 向け Android XR 拡張機能(v1.1.0、Unreal Engine 5.6.x と 5.8.x をサポート)は、ベースの OpenXR サポートを補完するもので、空間エンティティ、空間と深度のレイキャスト、ビューポート フェザリング、ライト推定キューブマップ、高度なハンドメッシュ データ、特定のハードウェア最適化など、没入型エクスペリエンスの構築に役立つ追加機能が含まれています。このパッケージをインポートして構成する方法については、Android XR 拡張機能のクイックスタート、または Android XR 拡張機能の Unreal API リファレンスをご覧ください。
サポートを受ける
問題が発生した場合は、サポートページの Unreal Engine のサポート セクションをご覧ください。
入力と操作
インタラクティブな空間エクスペリエンスを作成するには、物理的な動きをデジタル アクションにマッピングする必要があります。Unreal Engine は、OpenXR と組み合わせた Enhanced Input システムを使用して、モーション コントローラとハンド トラッキングの両方を処理します。入力アクションと入力マッピング コンテキストを設定することで、さまざまな Android XR 入力方法でシームレスに動作する柔軟なインタラクション(つかむ、指す、UI ナビゲーションなど)を作成できます。
これらのメカニズムを構築するための包括的なガイドについては、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 拡張機能の文字列 | 提供: |
|---|---|---|
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.1.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
デバッグ ユーティリティ |
Unreal ネイティブ OpenXR |
|
パフォーマンス設定 |
Unreal ネイティブ OpenXR |
|
ディスプレイのリフレッシュ レート |
Unreal ネイティブ OpenXR |
|
Android XR Extensions for Unreal(v1.0.0) |
||
Space Warp |
Unreal ネイティブ OpenXR |
|
Equirect2 コンポジション レイヤ |
Unreal ネイティブ OpenXR |
|
Android の Thread の設定 |
Unreal ネイティブ OpenXR |
|
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.0.0) |
||
Android XR Extensions for Unreal(v1.1.0) |
||
Android XR Extensions for Unreal(v1.1.0) |
拡張機能は、次のいずれかのソースから提供されます。
- Unreal 向け Android XR 拡張機能: Android XR プラットフォーム向けに開発された Google 固有の拡張機能(
ANDROID)と空間エンティティ拡張機能(EXT)です。これらの空間機能を利用するには、.uprojectに Android XR Extensions プラグインをインストールして有効にします。Blueprint と C++ の使用方法については、Android XR Extensions for Unreal API リファレンスをご覧ください。 - Unreal ネイティブ OpenXR: これらの機能は、Unreal Engine のコア OpenXR プラグインに直接統合され、メンテナンスされている Khronos(
KHR)、Extension(EXT)、Meta(FB)の標準拡張機能を利用します。