MRが楽しい

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

QuestDisplayAccessDemoを使ってQuest3でQRコードトラッキングを試す

本日はQuest3の小ネタ枠です。
QuestDisplayAccessDemoを使ってQuest3でQRコードラッキングを試してみたので記事に残します。

QuestDisplayAccessDemo

QuestDisplayAccessDemoはtrev3dという個人の方が公開しているMetaQuestでカメラアクセスを行うデモプロジェクトです。
キャプチャ結果と深度推定を用いたQRコードの読み取りとトラッキング機能も実装されています。
github.com

今回はこちらのプロジェクトを利用してQuest3でQRコードラッキングを試してみました。

プロジェクトのデプロイ

上記のGitHubプロジェクトをクローンして取得するか、Zipファイルでプロジェクトをダウンロードします。
今回は[Download ZIP]からzipファイルをダウンロードしました。

ダウンロードしたQuestDisplayAccessDemo-master.zipを任意のフォルダに展開します。

UnityHubを起動してプロジェクトを開きます。
プロジェクトのUnityバージョンはUnity 6000.0.24f1でした。

Unityの対応バージョンについて

2024/11/06現在、本プロジェクトはUnity 2022以前のバージョンではそのまま利用できません。
しかし有志の方が2022.3LTS対応したコードのPullRequestを行っており、統合予定のようです。
github.com

メニューから[File -> Build Settings]を開き、プラットフォームを[Android]に[Switch Pratform]で切り替えます。

参照シーンの設定は行われているのでこのまま[Build]を実行してapkファイルを作成できます。

動作確認

アプリを起動すると正面に以下のパネルが表示されます。
[Start Capture]をタップするとアプリの画面キャプチャが開始されます。

キャプチャ開始時、キャプチャ権限の確認ダイアログが表示されるので[許可する]を選択します。

以下の通りパネルにキャプチャ結果が表示されていればQRコードの認識処理も開始されています。

この状態でQRコードを確認します。
QRコードの読み取り結果がテキストで表示され、トラッキング結果が緑枠で表示されました。

QRコード認識の注意事項

自身の環境で試したところ、認識可能なQRコードと認識できないQRコードがありました。
おそらくモデル1のQRコードは認識できず、モデル2のQRコードのみ認識可能です。
www.keyence.co.jp

利用可能デバイス

QRコードラッキングには深度推定の機能を利用しているため、Quest3またはQuest3sでのみ動作するようです。
Quest3/3sどちらを利用する場合でも同じapkを利用して、実機での動作を確認できました。