シーンの再生(シミュレーション)
このガイドでは、Unity Editorでのシーン再生を効果的に行うためのプロジェクト設定とシーンの構成方法について説明します。これらの設定は、小さな追加変更をチェックするためにデバイスにデプロイする必要性を減らすことで、開発時間を短縮するのに役立ちます。
前提条件
Unityセットアップガイドに記載されている手順に従って、Snapdragon Spacesを使用するようにプロジェクトを設定します。
OpenXRプロジェクトの設定
Edit > Project Settings > XR Plug-in Management
に移動します。
Unityセットアップガイドには、デバイス上でSnapdragon Spacesを使用するためにプロジェクトを正しく設定するために必要な情報が含まれています。その上でUnity Editorでシーンを再生するには、いくつかの追加ステップが必要です。
Initialize XR On Startup
Plug-in Providers
のリストにあるPC(Windows、Mac、Linux)の設定タブで、OpenXRを有効にします。
Initialize XR On Startupの設定は、Androidの設定タブの値と一致させる必要があります。この設定をAndroidの設定タブの値と一致させることで、アプリケーションをテストする際に、デバイス上で見られる動作にできるだけ近い動作をするようになります。
つまり:
-
Dual Render Fusion機能を使用しない場合は、Initialize XR On Startupが有効になっていることを確認してください。この設定が無効の場合、EditorでPlayを押すと以下の警告がログとして表示されます。
No active UnityEngine.XR.ARSubsystems.XRSessionSubsystem is available. This feature is either not supported on the current platform, or you may need to enable a provider in Project Settings > XR Plug-in Management.
No active UnityEngine.XR.XRInputSubsystem is available. Please ensure that a valid loader configuration exists in the XR project settings.
- シーンでSpaces XR Simulatorコンポーネントを使用すると、これらの警告が抑制される場合がありますが、正しい動作を確実にテストするには、Editorの設定が最終的なアプリの設定と一致していることが重要です。
-
Dual Render Fusion機能を使用する場合、Initialize XR On Startupが無効になっていることを確認してください。この設定が有効になっている場合、EditorでPlayを押したときに以下の警告がログとして表示されます。
XR Management has already initialized an active loader in this scene. Please make sure to stop all subsystems and deinitialize the active loader before initializing a new one.
XR Simulation
オプションとして、Plug-in ProvidersのリストにあるPC(Windows、Mac、Linux)の設定タブで、XR Simulationを有効にします。これにより、AR Foundationが提供するXR SimulationとXR Simulation Environmentsを使用できるようになります。XR Simulationの使用については、Unityのドキュメントを確認してください。
XR Simulationプロバイダが有効になっていない場合、EditorでPlayを押すと以下の警告がログにとして表示されます。
No active UnityEngine.XR.ARSubsystems.XRSessionSubsystem is available. This feature is either not supported on the current platform, or you may need to enable a provider in Project Settings > XR Plug-in Management.
No active UnityEngine.XR.XRInputSubsystem is available. Please ensure that a valid loader configuration exists in the XR project settings.
XR Simulationは、Editor専用のサブシステムを使用します。
これらのサブシステムは、追加の変更が行われるたびにアプリケーションをビルドしてデバイスに デプロイすることなく、アプリケーションの動作や外観の変更を素早く確認するのに便利です。
これらのサブシステムはAR Foundationが提供するものであり、すべてのSnapdragon Spaces機能の完全な機能を提供するわけではありません。
QRコード追跡機能には、同等のEditor専用のサブシステムがありません。詳しくは既知の問題をご覧ください。
Base Runtime機能を有効 にする(PC)
Edit > Project Settings > XR Plug-in Management > OpenXR
に移動します。
PC(Windows、Mac、Linux)の設定タブで、Base Runtime機能を有効にします。
シーン構成
Snapdragon Spacesには、開発を容易にするためにシーンに追加できるコンポーネントが用意されています。Spaces XR Simulatorコンポーネントは、Dual Render Fusion機能を使用するアプリケーションを開発する際に最も役立ちます。Dual Render Fusion機能を使用しない場合でも、Editorで特定のXRシステムのライフサイクルを管理するのに役立ち、ここで見られる警告やエラーの数を減らします。
Spaces XR Simulatorコンポーネント
Spaces XR Simulatorコンポーネントは、シーンが変更されても持続するように設計されており、シーン階層のルートのゲームオブジェクトに追加する必要があります。このゲームオブジェクトは、Don't Destroy On Load
とマークされます。Spaces XR Simulatorコンポーネントは1つしか存在できず、2つ目がインスタンス化されると、代わりに破棄されます。
いくつかのXRシステムは、Editorでのシーン変更にうまく反応せず、EditorでPlayを押したときだけ表示され、デバイスで実行したときには表示されない警告やエラーを出すことがあります。Spaces XR Simulatorコンポーネントは、Editorのシーン変更時にこれらのシステムの多くを停止し、再初期化します。
Editor上とデバイス上の動作は完全に同じではありませんが、概ねの動作を確認する目的であれば役に立ちます。
Dual render FusionのSpaces Lifecycle Eventsコンポーネントは、Editor上でデバイス上よりも多くのイベントを発生させる可能性があります(シーンを切り替える間に、OpenXRを停止し再起動させます)。
すべての動作は、最終的にはEditorではなく、デバイス上で検証されるべきです。
コンポーネントのプロパティ
-
Start Connected