memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

Quest3 ARプログラミング・初手メモ(やっとわかった)

はじめに

少し前に以下を書きました。

memorandums.hatenablog.com

ただ、Quest3に関してはあちこちのチュートリアルページ通りにやってもパススルーが一発で動作しなくて手順に確証が持てませんでした。たぶん、ネットに記事を書かれている方は当然と思っていることがわかっていない可能性があるだろうなと思って調べていました。やっとわかりました。以下、続きを書きます。

前提条件

Quest3を初期化してスマホのアプリとも連携ができてデバイス登録が完了しQuest3を開発者モードにできた状態からスタートしたいと思います。Unityもインストールが終わった状態とします。現時点では最新のLTS版である2022.3.14f1 LTS(Androidビルドサポートをチェックする)です。

手順

  1. Quest3の電源を入れて、PC(Windows)と付属ケーブルで繋いでおきます。

  2. Unity Hubを起動して新規プロジェクトを作成します(3Dコア)。

  3. UnityのFile - Build Settingsを開きまして、Androidを選択し、Texture CompressionをASTCにし、Run DeviceにQuest3を選択し、Switch Platformを押します。

  4. UnityのWindows - Package Managerを選択し、上のプロダウンメニューからMy Assetsを選択し、Oculus Integration (Deprecated)57.0.1-deprecated を選択しImportボタンを押します(これはOculus Integrationを使ったことがある場合の操作になります。はじめてUnityでOculus開発する場合は、AssetストアをひらいてOculus Integrationを探してインポートする必要があります)

  5. インポートする項目にすべてチェックされた状態でメニューが表示されますので、そのままImportボタンを押します。

  6. インポート途中でダイアログが表示されるので、Yes, just for these filesを押します。

  7. しばらくするとまたダイアログが表示されるので、そこで、Don't sendを押し、Show Assets (Recommended)を押し、Clean Up (Recommended)を押し、Clean Up Packageを押す。最後にRestartボタンを押し、Upgradeボタンを押し、Restartボタンを押します。

  8. <ここが重要!> Unity Editorの右下のステータスバーのようなところにOculusマーク(横長の楕円)のアイコンがあるはずで、そのアイコンに赤ドットがついてるはずです。そこをクリックして3択のメニューが表示されるので一番上のProject Setup Toolを押します。すると以下の画面が表示されるはずです。

  1. ワーニング(黄色)やらエラー(赤)やら色々と不具合があることがわかります。ここで、「Fix All」と「Apply All」をひたすら押しまくります。このあとの操作をしている最中に赤ドットが表示される場合もあると思います。そのときも同様にこの自動修正機能に頼ってください。これをしておけば、ネットに書かれている基本的な設定項目(例えば、Color SpaceをLinearに変更するなど)を自動的に設定してくれるようです。

  2. Edit - Project Settingsを開き、XR Plugin Managementを選択し、Androidのタブが開かれた状態のはずなのでOculusにチェックを入れ(既に入っているはず)、左のモニター風タブ(PC)を押してOculusにチェックを入れる(こちらは入っていないはず)。

設定は以上です。ここがよくわからなかったけど、Project Setup Toolで自動修正に頼ることでほとんどの設定をしなくて済むことがついさっきわかりました。

以下は制作になります。ここはいろいろなサイトに書いてあるもののただのマネです。

  1. Main Cameraを削除し、OVR CameraRig(2つあるのでAssets/Oculus/VR/Prefabs/OVRCameraRig.prefabの法)をプロジェクトツリーに追加する。

  2. Cubeをプロジェクトツリーに追加し、カメラの前におく(Gameタブで写っているか確認する)。Sceneで青い矢印の方向に移動すればカメラの前に移動するはず。

  3. OVRCameraRigを選択し、OVR ManagerのQuest Featuresの中のPassthrought SupportをSupportにし、その3,4個下のInsight PassthroughのEnable Passthroughにチェックを入れる。

  4. Add Componetを押し、OVR Passthrough Layerを追加する。PlacementをUnderlayにする。

  5. プロジェクトツリーからOVRCameraRig - TrackingSpace - CenterEyeAnchorとたどり、ClearFlagをSolidに、色を0,0,0,0に変更する。

最後にFile - Build and Runすればパススルーのアプリが見れるはずです。

Oculus (Air)Linkでみる場合には、OculusアプリをPCで起動し、そこで、設定ーベーターOculus Link経由でのパススルーをオンにしておく必要があります。ここも重要ですね。

おースッキリした。