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
コールバックを使用することをお勧めします。