はじめに
Meta Quest3でのMRアプリ開発について解説します。
PICO4/4U、Vive Focus Visionに続いての記事になります。
開発環境
- Unity 6000.0.48f1
- Unity Open XR Meta 2.2.0
- OpenXR Plugin 1.15.0
- XR Interaction Toolkit 3.2.0
XR Interaction Toolkitのセットアップまで
こちらの記事に従ってXR Interaction Toolkitをセットアップしてください。
Unity Open XR Metaをインストールする
Package ManagerでUnity Open XR Metaを検索してインストールしてください。
公式ドキュメント
Projectをセットアップする
公式ドキュメントに従ってセットアップします。
ここでは必要最小限の内容を説明します。
Build ProfilesでAndroidにSwitch Platform
Project Settings > XR Plug-in ManagementからOpenXR > Meta Quest feature groupにチェック
Meta Questの一部の新機能はVulkan Graphics APIでのみサポートされているため、プロジェクトではVulkan Graphics APIの使用が推奨されています。
Graphics APIからOpenGLES3を削除し、Vulkanのみにする
- XR Plug-in Management > OpenXR からEnabled Interaction Profilesに Meta Quest Touch Plus Controller ProfileとHand Interaction Profileを追加
- OpenXR Feature Groupsにて、Hand Tracking SubsystemとMeta Quest: Camera (Passthrough)を有効にする
Project Settings > Graphics > Default Render PipelineをMobile_RPAssetに変更
ビルドしてQuest3実機で動作確認
Quest3をPCとUSB接続し、Build & Runで実機確認してください。
コントローラーとHand Trackingで操作できれば成功です。
パススルーを有効にする
MainCameraの設定
AR Camera Managerコンポーネントを追加する
MainCameraにARCameraManagerコンポーネントを追加してください。
CameraのBackgroundをSolid Color alpha 0にする
Environment > Background TypeをSkyboxからSolid Colorに変更
BackgroundのColorを0x00000000に変更
HDRをオフにする、または64bitに変更する
Project Settings > Quality > MobileのRender Pipeline Assetを選択。
HDRをオフにする
または、QualityのHDRはONのまま、HDR Percisionを64bitに変更する
設定は以上です。
ビルドして実機で動作確認してください。
パススルーで現実に重なってオブジェクトが表示されていれば成功です。
おわりに
お疲れ様でした。
Questアプリ開発の情報はMeta XR Core SDKに比べるとOpenXRは少ないかもしれません。
ただ、今後はOpenXRを推進するという話も聞きます。
OpenXRによりデバイス間の差異が吸収されてマルチデバイス開発が容易になると嬉しいです。
今回解説したセットアップ済みUnity ProjectはGitHubで公開しますので、自由にご利用ください。
https://github.com/afjk/Meta-Quest-MR-Unity-Template
※ サンプルのHands Interaction Demoのインポートとセットアップは記事に沿ってご自身で設定してください。
XRアプリ開発に少しでもお役に立てれば幸いです。
参考