MRが楽しい

MRやVRについて学習したことを書き残す

MetaHorizonの開発ドキュメントを読む その12(Meta XRシミュレーターのスタートガイド)

本日はMetaQuestの学習枠です。
MetaHorizonの開発ドキュメントを読みながら実際に開発を行ってみました。

MetaHorizonの開発ドキュメント

MetaHorizonの開発ドキュメントを実際に手を動かしながら実行時のキャプチャをしていきます。
developers.meta.com

本記事は以下の「Meta XRシミュレーターのスタートガイド」の記事を試します。
developers.meta.com

Meta XRシミュレーターのスタートガイド

Meta XRシミュレーターはXRアプリ開発と開発マシン上でのテストの時間を短縮するためにビルドされた軽量のエクステンデッドリアリティ(XR)ランタイムです。
このシミュレーターではモバイルやPC VRのランタイムと同じXR API仕様が使われており、実際に使っているエンジンのIDEにそのまま統合できます。
シミュレーターには事前定義された入力マッピングスキーマがあり、そのユーザーインターフェイスからランタイムが入力をシミュレーションすることができます。

標準的なインストール場所

シミュレーターバイナリはUnityパッケージの一部ではなく、動的に取得されます。
標準的なインストール場所は以下のとおりです。
Windows: %%APPDATA%%\Local\MetaXR\MetaXrSimulator\[xr_sim_version]
macOS: ~/Library/MetaXR/MetaXRSimulator/[xr_sim_version]

これらの場所はドキュメントではと呼びます。

Meta XRシミュレーターをインストールする

Meta XRシミュレーターはUnityパッケージマネージャを使ってプロジェクトにインポートすることをお勧めします。
UnityアセットストアのMeta XRシミュレーターに移動し、Meta XRシミュレーターがアセットにまだ追加されていなければ追加します。

assetstore.unity.com

Unityエディターで[Window -> Package Manager]を選択してPackage Managerウィンドウを開きます。
[Meta XR Simulator]を選択して[Install]を実行してUnityプロジェクトに追加します。

Meta XRシミュレーターを開始する

Meta XRシミュレーターを開始するには以下の手順で実施します。
プロジェクトがUnityエディターで開かれている状態で[Meta -> Meta XR Simulator -> Active]と選択してシミュレーターをアクティブ化します。

その後[Play (プレイ)]ボタンをクリックしてXRシミュレーターでUnityアプリを実行します。

入力シミュレーション

Meta XRシミュレーターは開発マシンの以下のソースからの入力をマッピングすることにより、Meta Questヘッドセット、コントローラー、手の入力をシミュレーションします。
・キーボードとマウスの入力
Xboxコントローラー
・Meta Quest Touchコントローラー

シミュレートするMeta Questの入力を選択するには以下の手順で実施します。
Meta XRシミュレーターUIで、[Inputs]タブを開き、[Active Inputs (アクティブ入力)]でシミュレートする入力を選択します。

開発マシンの入力がどのようにMeta Questにマッピングされているかを確認するため[Input Controls -> View Vinding Details]を開きます。

[Input Bindings (入力バインディング)]タブにはキーボード、マウス、Xboxコントローラー入力を使ったシミュレーション対象ヘッドセットのコントロールに関する詳しい情報が表示されます。
一部のよく使う動作には、事前にプログラミングされている便利なショートカットがあります(つかむ動作や頭の連続的な回転など)。

Meta XRシミュレーターを停止する

Meta XRシミュレーターを停止するにはUnityからもう一度[Play (プレイ)]ボタンをクリックするか、またはMeta XRシミュレーターUIの左上にある[Exit Session (セッション終了)]ボタンをクリックします。

物理ヘッドセット上での開発に戻るには[Meta] > [Meta XR Simulator (Meta XRシミュレーター)] > [Deactivate (非アクティブ化)]を選択してUnityのシミュレーターを非アクティブにします。