QR コードの追跡
ここから始める前に、「QR コード追跡の概要」の記事に目を通すことをお勧めします。この記事には、概要、デバイス サポートの表、ベスト プラクティスが含まれています。
QR コードを検出する
Web カメラ機能を追加する
QR コードを検出するには、マニフェストに webcam
機能を追加する必要があります。 ユーザーの環境で検出されたコード内のデータに機密情報が含まれている可能性があるため、この機能が必要です。
アクセス許可を要求するには、QRCodeWatcher.RequestAccessAsync()
を呼び出します。
C#:
await QRCodeWatcher.RequestAccessAsync();
QRCodeWatcher オブジェクトを作成する前に、アクセス許可を要求する必要があります。
QR コードの検出には webcam
機能が必要ですが、検出はデバイスの追跡カメラを使用して行われます。 これにより、デバイスの写真/ビデオ (PV) カメラを使用した検出と比較して、より広い検出 FOV とバッテリー寿命の向上が可能になります。
Unity 用 NuGet を使用して NuGet パッケージをインストールすると、MRTK をインポートしなくても Unity で QR コード検出 API を使用できます。 それがどのように機能するかを確認するには、サンプルの Unity アプリをダウンロードしてください。 このサンプル アプリには、QR コード上にホログラフィック正方形を表示する例と、GUID、物理サイズ、タイムスタンプ、デコードされたデータなどの関連データが含まれています。
OpenXR の使用
OpenXR プラグインを使用している場合は、QR API から SpatialGraphNodeId
をつかみ、Microsoft.MixedReality.OpenXR.SpatialGraphNode
API を使用して QR コードを見つけます。
参考までに、SpatialGraphNode
API のより詳細な使用法の説明が含まれた QR 追跡サンプル プロジェクトが GitHub にあります。
QR コードの座標系を取得する
検出された各 QR コードにより、左上の高速検出正方形の左上隅にある QR コードと一致する空間座標系が公開されます。
Unity 座標に変換すると、Z 軸は用紙の外をポイントし、左手座標系になります。