Below you will find pages that utilize the taxonomy term “VR”
Meta QuestのQRコード認識
Meta Quest SDK v78から、QRコードの検出と追跡機能が利用可能になりました。
従来は開発者自身でカメラ画像を解析してQRコードを検出する必要がありましたが、公式SDKに実装されたことで、より簡単にQRコードの検出が可能になりました。
現在は実験的なAPIのため商用アプリケーションでの利用は推奨されませんが、開発環境でQRコードの認識と追跡を試すことができます。
前提条件
QRコードの追跡機能を利用するには、次のような前提条件があります。
- Quest 3/3S以降
- Horizon OS v78以降
- Unity 2022.3.15f1以降
- Meta MR Utility Kit v78以降
また、マイクロQRコードは未サポート、QRコードバージョンは10までといった、いくつかの制限事項があります。
設定方法
1. Meta Questで空間データのアクセス許可を有効にする
アクセス許可はデフォルトで自動的にリクエストされるため、特別な設定は不要です。パーミッションに問題が発生した場合は、以下のドキュメントを参照してください。
参考: 空間データのアクセス許可 | Meta Horizon OS Developers
2. ビルディングブロックを使用してカメラリグとパススルーレイヤーを追加する
パススルーレイヤーを追加すると、カメラリグも自動で追加されます。
3. OVRManagerコンポーネントの設定を変更する
カメラリグにアタッチされているOVRManagerコンポーネントをインスペクタで開き、以下の設定を行います。
- Quest Features > Scene Supportを
Required
に設定 - General > Anchor Supportを
Enable
に設定 - Experimental > Experimental Features Enabledにチェック
4. AndroidManifest.xmlに実験的機能を有効化する設定を追加する
<uses-feature android:name="com.oculus.experimental.enabled" />
5. Meta QuestとPCを接続し、ADBでコマンドを実行する
参考: テスト機能 | Meta Horizon OS Developers
※Meta Questの再起動時に設定がリセットされるため注意が必要です。
6. Meta MR Utility Kit v78以降をインポートし、MRUKコンポーネントを追加する
- シーンに空のGameObjectを追加し、MRUKコンポーネントをアタッチ
- QR Tracking Enabledにチェック
7. トラッキングイベントを処理するコードを実装する
- OnTrackableAddedとOnTrackableRemovedイベントを購読するスクリプトを作成
- OnTrackableAddedでPrefabをインスタンス化し、MRUKTrackableを親に設定
以下のサンプルコードを参考に実装してください。
Meta Questの境界線機能と無効化方法について
Meta Questの境界線機能は、VR体験中の安全性を確保するための重要なシステムです。この記事では、境界線の概要と、境界線を無効化するアプリの開発方法について解説します。
境界線とは
境界線はMeta Questに搭載されている安全機能です。プレイエリアの端に近づきすぎたときに表示される仮想の壁を作成できます。
境界線モード
境界線の設定時に、以下の中からモードを選択できます。
静止モード
その場に立つか座ってヘッドセットを使用する場合に選択します。静止モードでは、プレイヤーを中心にして境界線のデフォルトである3フィート×3フィート(約1m×1m)のエリアが作成されます。
歩行モード
プレイエリア内を動き回りながらヘッドセットを使用する場合に選択します。歩行モードでは、プレイヤーがTouchコントローラーを使用して実際の空間での境界線を描画します。6.5フィート×6.5フィート(約2m×2m)以上の、障害物のない安全なスペースを指定することをおすすめします。
無効化時の注意点
境界線を無効化することによる安全性とベストプラクティスに関しては、次のサイトをご確認ください。
境界なしとコンテキスト境界なしの安全についてのベストプラクティス | Meta Horizon OS Developers
無効化の条件
境界線を無効化するには、次の条件が必要です。
- Meta SDK v66以上
- パススルーモードが有効
なお、Quest Linkでは境界線は無効化できません。
無効化方法
Meta SDKを使っている場合、境界線を無効化するには、AndroidManifest.xml
に次の項目を追加してください。
<uses-feature android:name="com.oculus.feature.BOUNDARYLESS_APP" android:required="true"/>
Meta SDKを使わず、Unity OpenXR Metaパッケージを使用している場合は、こちらの設定方法に従って設定してください。