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 開発ドキュメントを参照して、基本的なコンセプトとワークフローを理解してください。調査すべき主な分野は次のとおりです。
- XR フレームワーク: ヘッドセットを表すカメラ コンポーネントと手を表すハンド入力を共有シーンのルートにアタッチして、VR Pawn を構築する方法を学びます。
- OpenXR プラグイン: Android XR デバイスのサポートのためのコア インターフェース。
- XR アーキテクチャ: Unreal が技術スタックと XR サブシステムを処理する方法。
- プロジェクトのセットアップ: 空間レンダリング用に
.uprojectを構成します。 - グラフィック ガイダンス: フォービエイテッド レンダリング、マルチビュー、可変レート シェーディング(VRS)を活用します。
- パフォーマンスとプロファイリング: XR アプリケーションを最適化するためのツールとテクニック。
- ベスト プラクティス: 快適で没入感のある 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 拡張機能文字列 | 提供: |
|---|---|---|
デバイス アンカーの永続性 |
Unreal 向け Android XR 拡張機能 |
|
Raycast |
Unreal 向け Android XR 拡張機能 |
|
トラッカブル(平面/奥行き) |
Unreal 向け Android XR 拡張機能 |
|
オブジェクト トラッキング |
Unreal 向け Android XR 拡張機能 |
|
シーン メッシュ |
Unreal 向け Android XR 拡張機能 |
|
顔追跡 |
Unreal 向け Android XR 拡張機能 |
|
アイ トラッキング |
Unreal 向け Android XR 拡張機能 |
|
パススルー カメラの状態 |
Unreal 向け Android XR 拡張機能 |
|
パススルー メッシュレイヤ |
Unreal 向け Android XR 拡張機能 |
|
深度テクスチャ |
Unreal 向け Android XR 拡張機能 |
|
照明の推定 |
Unreal 向け Android XR 拡張機能 |
|
パフォーマンス指標 |
Unreal 向け Android XR 拡張機能 |
|
推奨の解決策 |
Unreal 向け Android XR 拡張機能 |
|
手の操作 |
Unreal 向け Android XR 拡張機能 |
|
Debug Utils |
Unreal Native OpenXR |
|
パフォーマンス設定 |
Unreal ネイティブ OpenXR |
|
ディスプレイのリフレッシュ レート |
Unreal ネイティブ OpenXR |
|
ハンド トラッキング メッシュ |
Unreal 向け Android XR 拡張機能 |
|
Space Warp |
Unreal ネイティブ OpenXR |
|
Equirect2 構成レイヤ |
Unreal ネイティブ OpenXR |
|
Android スレッド設定 |
Unreal ネイティブ OpenXR |
|
Global Passthrough Dimming |
Unreal 向け Android XR 拡張機能(v1.0.0 安定版) |
|
システム拡張機能のプロパティ |
Unreal 向け Android XR 拡張機能(v1.0.0 安定版) |
|
空間エンティティとマーカー トラッキング |
Unreal 向け Android XR 拡張機能(v1.0.0 安定版) |
拡張機能は、次のいずれかのソースから提供されます。
- Android XR Extensions for Unreal: Android XR プラットフォーム向けに開発された Google 固有の拡張機能(
ANDROID)です。これらの空間機能を利用するには、.uprojectに Android XR Extensions プラグインをインストールして有効にする必要があります。 - Unreal Native OpenXR: これらの機能は、Unreal Engine のコア OpenXR プラグインに直接統合され、維持されている Khronos(
KHR)、Extension(EXT)、Meta(FB)の標準拡張機能を活用します。