Skip to content

QuestDisplayAccessDemo(資料)

Unityバージョン:2022.3.53f1

QuestDisplayAccessDemoのGitHub(Unity 2022以前のバージョンでの利用は加工が必要)

GitHub - trev3d/QuestDisplayAccessDemo: Inefficient sample code for getting screen contents in Unity on Meta Quest to workaround lack of 'camera access'

QuestDisplayAccessDemoをUnity 2022でも利用できるようにする

Pr/unity 2022 compatibility by TheXRGuy-mw · Pull Request #13 · trev3d/QuestDisplayAccessDemo

こちらのサイトを参考にデモを実行

QuestDisplayAccessDemoを使ってQuest3でQRコードトラッキングを試す - MRが楽しい

ファイルアクセス方法:

  1. ファイルアクセス権限の付与

    UnityManifest.xmlの確認

    C:\Program Files\Unity\Hub\Editor\2022.3.53f1\Editor\Data\PlaybackEngines\AndroidPlayer\Apkにある

    ”UnityManifest.xml”の内容をコピー

    例:

    image.png

    <manifest>の下に

    ”<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />”

    を加え、読み込み権限を与える準備をする。

    例:

    image.png

    加えたものをAndroidManifest.xmlとして保存し、Unityに

    ”Assets/Plugins/Android/AndroidManifest.xml”となるように入れる。

    image.png

    この状態でアプリをビルドした後設定からQuest3内の設定から権限を与えることもできるが、

    プログラムのvoid Start()に

    jsx
    // 読み込み権限のリクエスト
    if (!UnityEngine.Android.Permission.HasUserAuthorizedPermission(UnityEngine.Android.Permission.ExternalStorageRead))
    {
    	UnityEngine.Android.Permission.RequestUserPermission(
    	UnityEngine.Android.Permission.ExternalStorageRead
    );
    }
    else
    {
    	Debug.Log("Read Permission Granted");
    	(実行したい処理の関数)();
    }

    のような形で配置すると初回起動時に権限リクエストをおこなうことができ、そのリクエストをもって権限付与をすることができる。

  2. ファイル置き場について

    jsonなどのファイルは、

    ”PC\Quest 3\内部共有ストレージ\Android\data(Package Name)\files\”

    内に置くことでアクセスすることができる。

    このフォルダ自体が一度アプリをビルドしてからではないと生成されないため、

    Package Nameを決めた後に一度部ビルドする必要がある。

    ファイルパスは、

    filePath = Path.Combine(Application.persistentDataPath, "~~~.json"); のような形。

    これでQuest3内のファイルからデータを取得することができる。

    今回使用した方法の共有であるため、もっと簡単な方法(内部共有ストレージに直接保存するなど)あるかもしれない。

    エクスプローラーをつかってQuest3にデータを送ることはできるが、Quest3にあるデータを直接開いても編集できないので注意が必要。

    ※詳しい仕様については

    https://www.notion.so/Quest3-3cb209682acc4d249b45524b0a504812

    で確認してください。

QuestDisplayAccessDemo

QuestDisplayAccessDemoをUnity 2022でも使えるようにしたもの(Assetsのみ)

unity6からunity2022にダウングレードしています。

Pr/unity 2022 compatibility by TheXRGuy-mw · Pull Request #13 · trev3d/QuestDisplayAccessDemo

Assetsをこれに置き換えることでつかえるようになるはずです。

Assets.zip

利用中のスクショ:

ph.anagly.mediaprojectiondemo-20250114-144036.jpgph.anagly.mediaprojectiondemo-20250114-144051.jpgph.anagly.mediaprojectiondemo-20250114-144102.jpgph.anagly.mediaprojectiondemo-20250114-144123.jpg
  • QRコードは小さすぎると読み込めない。

    一番下の写真は読み込めるか読み込めないかのギリギリのラインのもの。

  • やはり同時に読み込むことが可能。

GitHub中のデモ動画では

image.png

のようにQRコードの上に文字が出ていたが、なにも設定を変更せずにビルドすると、文字は出てこなかった。


Author: 水上 | Source: 水上\QuestDisplayAccessDemo(資料) 16bf0df6b7574488a01a64dd9055c63d.md