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 コードと一致する空間座標系が公開されます。

QR コード座標系

Unity 座標に変換すると、Z 軸は用紙の外をポイントし、左手座標系になります。

関連項目