トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

Hololens2とQRコードについて学ぶ

この2つのドキュメントを読む。内容は大体同じ

github.com

docs.microsoft.com

 

Nuget

QRコード検出用のNuGetパッケージ

www.nuget.org

Unity用はこちら。MRTKに依存せずに使える

github.com

サンプルプロジェクト

QRコードラッキングのサンプルプロジェクトもあるよ。

GitHub - chgatla-microsoft/QRTracking: MRTK sample app for QRtracking

 

Releaseにビルド済みデータがあるので、DevicePortal経由で入れた。

どんなQRコードにも反応するタイプのデモだった。

f:id:bibinbaleo:20200413141137p:plain

QRコード検出の許可

QRCodeWatcherオブジェクトを作成する前に、権限をリクエストする

QRCodeWatcher.RequestAccessAsync()で呼び出せる。

カメラ

QRコード検出に使うカメラは、撮影用のカメラじゃなくて、デバイス追跡用のカメラを利用しているので、より広い検出FOVとより良いバッテリー寿命が得られる。

 

バイス追跡用カメラの情報も取得できるらしい。白黒なのかな?

akihiro-document.azurewebsites.net

www.youtube.com

良い条件

照明

とても照明が明るいときorコードの背景が特に暗い場合は、灰色の背景に黒のQRコードを印刷する

サイズ・距離・角度

マーカーのサイズは5cm以上にする

 

マーカーサイズ5~10cmの場合、マーカーから10cmほどの距離にいる必要がある。

マーカーサイズ10〜25 cmの場合、最小検出距離は15cmから50cm

 

QRコードとカメラの角度は45度以内で機能する。

ロゴ付きQRコード

ロゴ付きQRコードはサポートされていない

docs.microsoft.com

自分で試してみたら、真ん中に画像入っているものや

f:id:bibinbaleo:20200413140958p:plain

こういうのは確かに反応しなかった。

f:id:bibinbaleo:20200413140915p:plain

でも文字が入っているものは反応した。↓

f:id:bibinbaleo:20200413141137p:plain

シンプルなものなら反応しそう。