本日はMetaQuestの学習枠です。
MetaHorizonの開発ドキュメントを読みながら実際に開発を行ってみました。
MetaHorizonの開発ドキュメント
MetaHorizonの開発ドキュメントを実際に手を動かしながら実行時のキャプチャをしていきます。
developers.meta.com
本記事は以下のHello Worldの記事を試します。
developers.meta.com
以下の開発作業を行います。
・Meta Questヘッドセット上で実行できるアプリのUnityプロジェクトを設定する
・Meta Questコントローラーと手からの基本的なユーザーインプットを追加する
・アプリをヘッドセットにストリーミングする
Unityプロジェクトを作成する
Unity Hubを開き、[New Project (新規プロジェクト)]で新規プロジェクトを作成します。

以下のプロジェクト設定を選択して[Create Project (プロジェクトの作成)]を実行します。
・Editor Version:バージョン2022.3.15f1以上(Unity 6以上が推奨)
・プロジェクトテンプレート:Universal 3D
・Project Name:任意のプロジェクト名
・Location:任意の保存先フォルダ
・Unity Organization:任意の組織名
・Connect to Unity Cloud (Unityクラウドに接続する):当てはまる場合はチェック
・Use Unity Version Control (Unityバージョン管理を使用する):当てはまる場合はチェック

Meta XR SDKをUnityのマイアセットに追加する
事前にMeta XR SDKをUnityのアセットに追加しておきます。
Unityアセットストアを開き、Unityアカウントでサインインを行います。
assetstore.unity.com

Meta XR Core SDKのページを開き、[Add to My Assets (マイアセットに追加)]を実行してマイアセットに追加します。
assetstore.unity.com

次にMeta XR All-in-One SDK(Meta XR Interaction SDK)のページを開き、こちらも[Add to My Assets (マイアセットに追加)]を実行してマイアセットに追加します。
assetstore.unity.com

これで以下の2つの開発用アセットをマイアセットに追加できました。
・Meta XR Core SDK
・Meta XR All-in-One SDK(Meta XR Interaction SDK)
Unityプロジェクトを設定する
新しいプロジェクトがUnityエディターで開いたらMeta XR開発用にプロジェクトの設定を行います。

ビルドプラットフォームをAndroidに設定する
メニューから[File -> Build Profiles]を開きます。

Platformsで[Android]を選択して[Switch Platform]を実行します。

これでプラットフォームがAndroidに切り替わります。
Unity OpenXRプラグインをインストールする
メニューから[Edit -> Project Settings]を開き、[XR Plug-in Management]タブを選択します。
[Install XR Plugin Management]を実行します。

XRプラグインを選択できるようになるので[OpenXR]にチェックを入れます。

Meta XR SDKをインストールする
メニューから[Window -> Package Manager]を開き、[My Assets]タブを開きます。

先ほどマイアセットに追加したアセットが以下の名前で表示されているのでそれぞれインストールを行います。
プロジェクト設定を行う
プロジェクト設定ツールを使ってQuestアプリ開発に適切なプロジェクト設定を行います。
[Meta XR Tools]のドロップダウンから[Project Setup Tool]を選択して開きます。

Project Setup Toolウィンドウで、[Fix All (すべて修正)]を実行するとプロジェクト設定の問題個所が自動で修正されます。

次に[Apply All (すべてに適用)]を実行すると推奨設定が適用されます。

指摘事項が全てなくなれば問題ありません。
Project Setup Toolを使えばAndroid向けのプロジェクト設定の問題個所を検出して修正できます。

これでMeta XR開発向け設定を行ったUnityプロジェクトが作成できました。
記事が長くなったので分けます。次はサンプルシーンの構築です。




