Scene Setupについて
現在開いているシーンにおいて、MiRZA アプリを作成する上で必要な設定がなされているかどうかを確認し、設定するためのサポートを行います。
Templates and samples
シーンを新たに作成するときは、Templates と Samples を活用することを検討してください。
自身でシーンの設定を行いたい場合は、以降の手順を参考にしてください。
「Move to Templates」ボタンで、Templates カテゴリを開きます。
「Move to Samples」ボタンで、Samples カテゴリを開きます。
Step 2-1: Add XR Core Modules
XR アプリに関連する必要モジュールがシーン内に存在するかどうかを確認します。
「Open Guide」ボタンで関連するオンラインドキュメントへ移動します。
「Setup XR Core Modules」ボタンで、以下の処理を行い XR Core Modules を追加します。
- AR Session の追加
- XR Origin の追加
- AR Camera Manager の無効化
- AR Camera Background の無効化
- XR Origin 追加時に孫 GameObject として一緒にデフォルトで作成される Left Controller / Right Controller を削除
- XR Origin が親にいない Main Camera の GameObject をすべて削除
Step 2-2: Add Snapdragon Spaces Modules
アプリをビルドするうえで必要なモジュールがシーン内に存在するかどうかを確認します。
「Open Guide」ボタンで関連するオンラインドキュメントへ移動します。
「Add Snapdragon Spaces Modules」ボタンで、以下の処理を行い Snapdragon Spaces Modules を追加します。
- Dynamic OpenXR Loader の追加
- Spaces Host View の追加
- Spaces Lifecycle Events の追加
- Spaces XR Simulator の追加
- Start Connected プロパティを True に設定
Step 2-3: Add MiRZA Modules
MiRZA Library がサポートする機能がシーン内に存在するかどうかを確認します。
これらは必須ではありませんが、Dual Render Fusion アプリを作成するうえでのショートカットとなります。
「Add Dual Render Fusion Controller」ボタンで、シーン内に Dual Render Fusion コントローラのひな形を配置します。
「Add Render Camera」ボタンで、Main Camera の子に RenderCamera を追加します。
RenderCamera とは、MiRZA のカメラ映像をコントローラ上に表示するために利用する Camera のオブジェクトを指します。
- カメラ映像の描画は SimpleQONOQFusionInteraction/SimpleCanvasControllerCompanion/Canvas/NotificationArea/Notify-CameraView/MessageBox/ContentGroup/CameraPreview/RawImage で行 っています
Spaces Lifecycle Event Configuration
「Register Events To Spaces Lifecycle Events」ボタンで、「Add Dual Render Fusion Controller」ボタンで追加したコントローラの基本的なイベント設定をシーン内の Spaces Lifecycle Events へ登録します。
これにより行われる設定は以下の通りです。
- コントローラが MiRZA へ接続中にダイアログで通知する
- コントローラが MiRZA へ接続完了時にダイアログを閉じる
- コントローラと MiRZA の接続が切れた際にポインターを非表示にする
- MiRZA で全ての XR コンテンツが利用可能になったらポインターを表示する
- MiRZA で全ての XR コンテンツが利用不可になったらポインターを非表示にする
- コントローラが利用可能になったらUIを表示する
- コントローラが利用不可になったらUIを非表示にする
- コントローラが利用不可になったら、RenderCamera を無効化する
- シーン内の Target Texture (URP では Output Texture) が設定されている Camera を RenderCamera として設定します
- シーン内に RenderCamera が存在しない場合は、この設定は行われません
Add QCHT Modules
ハンドトラッキングを行うために便利なモジュールがシーン内に存在するかどうかを確認します。
ハンドトラッキングを使用するシーンを新たに作成するときは、Hand Tracking Template を活用することを検討してください。
「Move to Templates」ボタンで、Templates カテゴリを開きます。
1. Check modules and settings for Hand Tracking
ハンドトラッキングに必要なパッケージ、およびサンプルのインストール状況と設定の状況を表示します。
「Open QCHT Unity Interactions Samples」ボタンで Package Manager を開きます。この操作には QCHT Unity Interactions パッケージがインストール済みであることが必要です。
2. Add QCHT XR Origin
「Add QCHT XR Origin」 ボタンで、シーン内へモジュールを自動で追加します。
3. If XR Origin already exists in the Scene, configure QCHT XR Origin with the same settings as the existing XR Origin
QCHT XR Origin 以外で既に XR Origin が存在していた場合、既存の XR Origin に行っていた設定と同じものを QCHT XR Origin に手動で適用します。
一例として Step 2-3: Add MiRZA Modules
で行っている RenderCamera 関連の設定があります。
4. Delete all XR Origin except for QCHT XR Origin
「Delete all XR Origin except for QCHT XR Origin」ボタンで、QCHT XR Origin 以外の XR Origin をすべて削除します。
5. Setup Managers for Interaction
「Setup Managers」 ボタンで、以下のコンポーネントのシーン内への追加及び設定を行います。
- XR Interaction Manager
- Input Action Manager
- Action Assets プロパティに Default QCHT Input Actions を追加
QCHT Control Box Support
QCHT Control Box を指定したゲームオブジェクトに適用して、オブジェクトの移動、回転、拡大縮小を容易にします。
ヒエラルキー上の任意のゲームオブジェクト上で、右クリックから XR/MiRZA/Add QCHT Control Box
を選択することで QCHT Control Box を適用することができます。
Settings は空欄のまま動作させることができます。その場合は QCHT Control Box の各パラメーターにデフォルト値が適用されます。
「Open Guide」ボタンで関連するオンラインドキュメントへ移動します。
Setup Canvases For XR
シーン上の全ての Canvas (Dual Render Fusion Controller の UI 用 Canvas を除く)を XR アプリ向けに変換します。
この機能は Dual Render Fusion Controller が使われているシーンでのみ使用してください。
それ以外のコントローラーを利用しているシーンでは、下記の設定を手動で行ってください 。
「Setup Canvases For XR」ボタンで、シーン内の全ての Canvas (Dual Render Fusion Controller の UI 用 Canvas を除く)へ以下の変更を行います。
- Canvas の Rendering Mode を World Space に設定します
- XR Origin の Camera を Canvas の World Camera に割り当てます
- Canvas に Tracked Device Graphic Raycaster コンポーネントを追加します
Setup For Camera Permission
Dual Render Fusion アプリにおいて、アプリ起動後に適切なタイミングでカメラ権限を要求するための設定を行います。
「Register Event For Request Camera Permission On Start」ボタンで、シーン内の Spaces Permission Helper コンポーネントを用いて
SpacesPermissionHelper.RequestApplicationCameraPermissions()を
SpacesPermissionHelper 内の On Application Camera Permissions Not Granted()へ
登録します。
Spaces Permission Helper コンポーネントがシーン内に存在しない場合は自動的にシーンへ追加します。
「Open Guide」ボタンで関連するオンラインドキュメントへ移動します。
Setup For Switching To MR Mode
MiRZA アプリを介さずにグラスを MR モードに切り替えるためのシーン設定を行います。
この設定により、MiRZA アプリを介さずにアプリ起動ができるようになります。
「Setup For Switching To MR Mode」ボタンで、以下の設定を行います。
- Dynamic OpenXR Loader の Auto Start XR On Display Connected を disable にします
- MR Mode Auto Switcher オブジェクトをシーンに配置します
Camera Info
シーン内に存在する Camera コンポーネントと、それぞれの設定値を表示します。
推奨設定
- Target Display
- XR Origin が参照する Camera の場合 : Display 2
- Target Eye
- URP かつ Spaces Host View の Phone Camera の対象である場合:None
「Select」ボタンでシーン上の各 Camera を選択状態にします。