QRコードトラッキング
このサンプルでは、現実世界でQRコードを検出しトラッキングする方法を紹介します。
機能の有効化
この機能を使用するには、以下のOpenXRのプロジェクト設定でQR Code Trackingにチェックする必要があります。
Project Settings > XR Plug-in Management > OpenXR (Androidタブ) > OpenXR Feature Groups > Snapdragon Spaces > QR Code Tracking

サンプルのインポート
まだサンプルをインポートしていない場合は、以下の手順でインポートすることができます。
サンプルシーンは以下の場所に存在します。
Assets/Samples/Snapdragon Spaces/1.X.X/Core Samples/Scenes/QR Code Tracking/QR Code Tracking Sample.unity
サンプルの仕組み
QRコードを検出、追跡、デコードするために必要なコンポーネントは2つだけです。
XR OriginゲームオブジェクトにSpacesQrCodeManagerを追加すると、Snapdragon Spacesパッケージに含まれるQRコードのサブシステムが有効になります。
検出されたQRコードごとに、SpacesARMarkerコンポーネントを持つゲームオブジェクトがインスタンス化されます。
![]()
メインのUIには、検出されるマーカーのサイ ズがメートル単位で表示され、利用可能なQRコードの最小および最大バージョンが表示されます。
![]()
QRコードが検出されると、SpacesQrCodeManagerで参照されているプレハブが即座にインスタンス化されます。プレハブは実世界のQRコードの位置と向きを追跡します。
プレハブはSpacesARMarkerにQRコードのデータを問い合わせ、デコードされるとすぐに表示されます。プレハブのUIには、検出されたQRコードの一意なtrackableId(Unityのドキュメントを参照)も表示されます。
このサンプルでは、複数のQRコードを同時に検出することができます。
プレハブへの参照がSpacesQrCodeManagerに登録されている場合、SpacesARMarkerコンポーネントは プレハブにまだアタッチされていなければ自動的に追加されます。プレハブへの参照が登録されていない場合は、すべてのQRコードを管理するためにSpacesQrCodeManager.markersChangedコールバックを使用することをお勧めします。