[HoloLens]Unity2020+OpenXRでQRコードトラッキング
Unity2020 + OpenXR プラグイン で QR コードトラッキングを行う方法をまとめました。
方法その1
以下に OpenXR を利用したサンプルが公開されています。これをベースにアプリケーションを構築していくのが最も手軽だと思います(最初このリポジトリの存在に気づかなかったため、調べるのに時間がかかりました、この存在を紹介することがこの記事のほぼメインの内容です)。
- (新)QRTracking
アプリケーションをビルドして実機で実行すると以下のようになります。
<注意>
以下にも同名のリポジトリがありますが、こちらは OpenXR ではなく Windows XR Plugin(Unity2021.2 で削除される予定) が利用されたものなので注意が必要です。利用されている MRTK もバージョンが 2.5.3 と少し古いです。
- (旧)QRTracking
方法その2
確認した環境
- Unity 2020.3.19f1
- MRTK 2.7.2
- NuGetForUnity 3.0.2
ゼロからプロジェクトを構築していく方法です。既存プロジェクトに QR コードトラッキング機能を追加する場合もこちらの方法を参照いただくのがよいと思います。
-
Unity プロジェクトを作成し、MRTK を利用した OpenXR のプロジェクト設定する(詳細は以下参照)
-
NuGetForUnity の unitypackage をインポートする
-
メニューの NuGet -> Manage NuGet Packages を選択する
-
Microsoft.MixedReality.QR で検索してインストールする
-
Assets/Packages 配下に必要なものが追加されているのを確認する
ここまでの手順で QR コードトラッキング の API を利用する準備はできているので、あとは API リファレンスなどを参考に実装すればよいと思いますが、動作確認する場合には以下の手順を踏むとよいでしょう。
-
Assets 配下に QRTracking フォルダを作成し、その中にサンプルリポジトリの Prefabs、Scenes、Scripts をドラッグ&ドロップする
以下の警告はサンプルプロジェクトでも表示されていたため無視しても大丈夫なもののようです
-
Assets/QRTracking/WMRSpatialGraphNode.cs ファイルを削除する
-
Assets/QRTracking/QRCodesSample シーンをビルドする
以上の手順で、方法その1の内容と同じものが確認できます。
Discussion