🥽

[HoloLens]Unity2020+OpenXRでQRコードトラッキング

2021/10/21に公開

Unity2020 + OpenXR プラグイン で QR コードトラッキングを行う方法をまとめました。

方法その1

以下に OpenXR を利用したサンプルが公開されています。これをベースにアプリケーションを構築していくのが最も手軽だと思います(最初このリポジトリの存在に気づかなかったため、調べるのに時間がかかりました、この存在を紹介することがこの記事のほぼメインの内容です)。

アプリケーションをビルドして実機で実行すると以下のようになります。

exe

<注意>

以下にも同名のリポジトリがありますが、こちらは OpenXR ではなく Windows XR Plugin(Unity2021.2 で削除される予定) が利用されたものなので注意が必要です。利用されている MRTK もバージョンが 2.5.3 と少し古いです。

方法その2

確認した環境

  • Unity 2020.3.19f1
  • MRTK 2.7.2
  • NuGetForUnity 3.0.2

ゼロからプロジェクトを構築していく方法です。既存プロジェクトに QR コードトラッキング機能を追加する場合もこちらの方法を参照いただくのがよいと思います。

  • Unity プロジェクトを作成し、MRTK を利用した OpenXR のプロジェクト設定する(詳細は以下参照)

  • NuGetForUnity の unitypackage をインポートする

  • メニューの NuGet -> Manage NuGet Packages を選択する

    NuGet

  • Microsoft.MixedReality.QR で検索してインストールする

    Microsoft.MixedReality.QR

  • Assets/Packages 配下に必要なものが追加されているのを確認する

    Packages

ここまでの手順で QR コードトラッキング の API を利用する準備はできているので、あとは API リファレンスなどを参考に実装すればよいと思いますが、動作確認する場合には以下の手順を踏むとよいでしょう。

  • Assets 配下に QRTracking フォルダを作成し、その中にサンプルリポジトリの Prefabs、Scenes、Scripts をドラッグ&ドロップする

    Drag & Drop

    以下の警告はサンプルプロジェクトでも表示されていたため無視しても大丈夫なもののようです
    Warning

  • Assets/QRTracking/WMRSpatialGraphNode.cs ファイルを削除する

  • Assets/QRTracking/QRCodesSample シーンをビルドする

以上の手順で、方法その1の内容と同じものが確認できます。

参考

Discussion