hz-xr-simulator-install-and-configure について
実機のヘッドセットを使わずに Meta VR アプリをテストする開発者向けの、Meta XR Simulator のインストールと設定ガイドです。エンジン連携、入力や環境のシミュレーション、自動テストを扱い、実機での性能検証は代替できないと説明します。
主な機能
- 01ヘッドセット追跡とコントローラー入力のシミュレーション
- 02定義済みのハンドポーズを起動
- 03部屋と仮想境界を設定
- 04合成パススルー環境を提供
- 05CI/CD 向けのテストスクリプト作成
活用シーン
- 01ヘッドセットなしで VR アプリをテスト
- 02Unity または Unreal で操作を検証
- 03スクリプト入力で回帰テストを実行
- 04CI/CD パイプラインでテストを自動化
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ meta-quest/ agentic-tools --skill hz-xr-simulator-install-and-configureインストール後、Claude Code で/hz-xr-simulator-install-and-configureを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/configuration.mdinstallation.mdtesting-workflows.md詳細
Meta XR Simulator のインストールと設定
このスキルを使用する場面
- 物理ヘッドセットを接続せずに Meta VR アプリケーションをテストする必要がある場合
- 毎回デバイスにデプロイせず、開発中に素早く反復したい場合
- Meta VR アプリの自動テストが必要な CI/CD パイプラインを設定する場合
- ハードウェアにデプロイする前に、主要な操作、UI、移動を検証したい場合
Meta XR Simulator とは
Meta XR Simulator は、開発マシン上で Meta VR 環境をシミュレートするデスクトップツールです。アプリケーションが行う OpenXR ランタイム呼び出しをインターセプトし、ヘッドセットのトラッキング、コントローラー入力、ハンドトラッキング、環境データをシミュレートすることで、エンジンのエディター内またはスタンドアロンのデスクトップビルドとして、VR/MR アプリケーションを直接実行してテストできます。
シミュレーターは Meta VR ハードウェアの性能を再現するものではありません。デスクトップの GPU と CPU で動作します。目的は機能テストであり、性能プロファイリングではありません。
対応プラットフォーム
| プラットフォーム | サポートレベル |
|---|---|
| Windows 10/11(64-bit) | 完全サポート |
| macOS | 限定的なサポート |
対応アプリの種類
- Unity:Meta XR SDK(com.meta.xr.sdk.core および関連パッケージ)経由
- Unreal Engine:Meta XR Plugin(旧称 Oculus VR Plugin)経由
- Meta XR Simulator をアクティブな OpenXR ランタイムとして使用する ネイティブ OpenXR アプリケーション
主な機能
- ヘッドセットトラッキングのシミュレーション:マウスとキーボードで頭部の位置と回転を操作します。ヘッドセットを装着せずに仮想シーン内を移動できます。
- コントローラー入力のシミュレーション:キーボードのキーを Quest Touch コントローラーのボタン、サムスティック、トリガーに割り当てます。物理コントローラーを持っているかのように操作をテストできます。
- ハンドトラッキングのシミュレーション:定義済みのハンドポーズやジェスチャーシーケンスを呼び出します。実際のハンドトラッキングなしで、ピンチ、グラブ、ポーク、カスタムジェスチャーをテストできます。
- ルーム設定とガーディアンのシミュレーション:設定可能な部屋の寸法、家具の配置、ガーディアン境界を使って仮想プレイスペースを定義します。境界を考慮した動作をテストできます。
- パススルーのシミュレーション:複合現実アプリケーションのテスト用に、合成パススルーカメラ映像を提供します。シーン理解と平面検出のロジックを検証できます。
- スクリプト化可能なテストシナリオ:入力シーケンスを自動化し、セッションを記録して再生し、回帰テストのために CI/CD と統合できます。
クイックスタート
- Meta Quest Developer Hub(MQDH)の[Tools]から XR Simulator をダウンロードするか、Meta の開発者向けダウンロードページからダウンロードするか、CLI で
metavr tools install xrsimを実行して直接入手します。 - Windows ではインストーラーを実行し、macOS ではアーカイブを展開して、インストールと設定を行います。
- エンジンで XR Simulator を有効にします:
- Unity:[Edit]>[Project Settings]>[XR Plug-in Management]を開き、Meta XR Simulator をアクティブなランタイムとして有効にします。
- Unreal:[Project Settings]>[Plugins]>[Meta XR]を開き、XR Simulator オプションを有効にします。
- ネイティブ OpenXR:Meta XR Simulator をアクティブな OpenXR ランタイムとして設定し、デスクトップ OpenXR ビルドを起動します。
- エディターで Play を押します。アプリケーションはヘッドセットを接続しなくてもシミュレーター内で実行されます。
詳しい手順は、インストールガイドを参照してください。
シミュレーターをインストールしてプロジェクトに統合した後、hz-xr-simulator-control を使用して、シミュレーターの起動、ランタイム状態の確認、シミュレートするデバイスや入力の設定変更、レイヤーの管理、コンポジター出力の記録を行います。
操作の概要
| 操作 | 入力 |
|---|---|
| 周囲を見る | マウスの右ボタンを押しながらマウスを動かす |
| 前進/後退/左/右に移動 | W / S / A / D |
| 上/下に移動 | E / Q |
| コントローラーボタンをシミュレートする | 割り当てられたキーボードのキー(設定を参照) |
| ハンドポーズを呼び出す | 数字キーまたは設定したショートカット |
入力の割り当てについて詳しくは、設定ガイドを参照してください。
テストワークフロー
シミュレーターでは、次のような複数のテストパターンに対応しています。
- インタラクティブテスト:シーンを手動で操作して、インタラクションをテストします
- 自動テスト:回帰テスト用の入力シーケンスをスクリプト化します
- CI/CD 統合:自動化パイプラインでヘッドレスのシミュレータービルドを実行します
詳しいワークフローについては、テストワークフローを参照してください。
注意点
Meta XR Simulator のセットアップと使用において、よくある問題を紹介します。
- OpenXR ランタイムの競合 -- 別の OpenXR ランタイムがシステムの既定として設定されている場合(SteamVR、Windows Mixed Reality、Oculus PC app)、シミュレーターはアプリの OpenXR 呼び出しをインターセプトしません。Meta XR Simulator を、システム全体またはエンジンごとにアクティブな OpenXR ランタイムとして設定する必要があります。Windows では、
HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenXR\1\ActiveRuntimeを確認して、アクティブなランタイムを確認してください。 - Unity XR Plug-in Management に関する混乱 -- Unity で XR Plug-in Management の「Meta XR Simulator」を有効にしても、「Oculus」や「OpenXR」のローダーは自動的に無効になりません。複数のローダーが有効な場合、Unity が誤ったローダーを選択する可能性があります。シミュレーターを有効にする前に、他のすべての XR ローダーを無効にしてください。
- シミュレーターで動作してもデバイスと同等とは限らない -- シミュレーターは、デスクトップ用ドライバーを使用してデスクトップ GPU でレンダリングします。デスクトップでは問題なくコンパイルできるシェーダーでも、Quest の Adreno GPU では失敗したり、動作が異なったりする場合があります。「シミュレーターで動作する」ことを「デバイスで動作する」ことと同じだと見なさないでください。
- ハンドトラッキングのポーズは事前定義されており、連続的ではない -- シミュレーターでは連続的な指のトラッキングではなく、キーボードショートカットで呼び出す離散的なハンドポーズを使用します。そのため、細かなピンチ距離のしきい値、把持時の物理挙動、ジェスチャー認識の品質はテストできません。ハンドトラッキングの検証には実機を使用してください。
- パススルーは合成環境であり、カメラベースではない -- シミュレーターはパススルーのテスト用に合成環境を提供します。シーン理解の結果(平面、メッシュ、セマンティックラベル)は設定された部屋に基づいており、実際のセンサーデータには基づきません。反射面、透明なオブジェクト、低照度環境などのエッジケースは再現されません。
- 温度やパフォーマンスのプロファイリングには非対応 -- シミュレーターでは、デバイスの熱によるスロットリング、CPU/GPU の周波数スケーリング、メモリー負荷の挙動を再現できません。シミュレーターでのパフォーマンステストは、実機のパフォーマンス検証には意味がありません。
- ファイアウォールやアンチウイルスによる干渉 -- 一部の企業向けアンチウイルスソフトウェアは、シミュレーターのローカル IPC をブロックします。シミュレーターが接続直後に切断される場合や、XR セッションを開始できない場合は、シミュレーターの実行ファイルに対するファイアウォールのルールを確認してください。
- macOS のサポートは限定的 -- macOS では、一部の機能のみ利用できます。コントローラーのシミュレーションには対応していますが、ハンドトラッキング、パススルー、部屋のセットアップには完全には対応していません。シミュレーターのすべての機能を利用するには Windows を使用してください。
制限事項
- GPU のパフォーマンスプロファイリングには非対応:デスクトップ GPU の特性は、デバイスのモバイル GPU とは異なります。フレームタイミング、シェーダーのパフォーマンス、フィルレートはデバイスの動作と一致しません。
- 実際のセンサーデータは使用しない:IMU、カメラ、深度センサーのデータは合成されます。トラッキングのエッジケースは再現されない場合があります。
- API の動作に違いがある:一部のプラットフォーム API(システムキーボード、ソーシャル機能、IAP など)は、シミュレーターでモックデータまたはスタブデータを返します。
- 触覚フィードバックには非対応:シミュレーターではコントローラーの触覚を感じることはできません。
- 熱によるスロットリングには非対応:デバイスの熱管理の挙動はシミュレーションされません。
- レンダリングに違いがある:解像度、フォービエイテッドレンダリング、ディスプレイのリフレッシュレートは Meta VR ハードウェアと一致しません。
提出またはリリースの前に、必ず Meta VR の実機で最終検証を行ってください。