🔥

Unity×HoloLens2×MRTK×QRCodeをとりあえず動かしたいとき

2021/06/08に公開6

ゴールのアウトプット

https://youtu.be/T1HjwqwTOHA

手順

  • NuGetForUnityをインストール
  • Microsoft.MixedReality.QRをインストール
  • QRTrackingのSampleをダウンロード&コピー
  • XR Plugin Managementをインストール
  • 設定を変更
  • ビルド!

前提

  • Unity2019.4.26
  • Microsoft Mixed Reality Toolkit 2.6.1

これらがすでに使用されている状態でQRコードによるトラッキングをできるようにしたい。
MRTKとXR Plugin Managementの共存が意外と面倒くさかったので記事にしました。

NuGetForUnityをインストール

https://github.com/GlitchEnzo/NuGetForUnity

NuGetForUnityのunitypackageのダウンロードリンク

unitypackageをダウンロードし、Unityにimportします。

Microsoft.MixedReality.QRをインストール

  • UnityのMenuから[NuGet]>[Mangage NuGet Packages]を選択
  • Microsoft.MixedReality.QRで検索
  • installをクリック

image

QRTrackingのSampleをダウンロード&コピー

QRTrackingのGithubリンクのDownloadからScriptとPrefabsを取得する。

image

ダウンロードして展開したら、Assets/QRCode以下にコピーする。

image

XR Plugin Managementをインストール

UnityのMenuの[Window]>[Package Manager]>[XR Plugin Management]

image

設定を変更

PlayerSettingのCapabilitiesの設定

WebCamにチェックを入れる。

image

XR Plugin Managementの設定変更

[Edit]>[Project Settings]>[XR Plugin Management]にて

image

[Edit]>[Project Settings]>[XR Plugin Management]>[Windows Mixed Reality]の設定
image

MRTKのProfile設定変更

Scene上のMixedRealityToolkitのProfileを
DefaultXDSDKConfigurationProfileを選ぶ。カスタマイズしたい設定は変える。

image

QRCodesManagerをシーン上に配置

[QRCode]>[Prefabs]>[QRCodesManager]をScene上に配置する。
image

ビルド!

ここまできたらHoloLens向けにBuildしたらOK。

参考記事

https://xrdnk.hateblo.jp/entry/2020/10/24/181009

https://qiita.com/Futo_Horio/items/83284b6732ce97150181

https://bibinbaleo.hatenablog.com/entry/2020/04/13/203400

Iwaken Lab.

Discussion

kant2526kant2526

初めてコメントさせていただきます。
いつも拝見し、参考にさせていただいています。
突然で申し訳ないのですが、HoloLens2を使用し、任意の3Dオブジェクトを表示させることは可能でしょうか。
お返事いただければ幸いです。

イワケンイワケン

オリジナルアプリでよければ、UnityでHoloLensアプリをビルドすれば、任意の3Dオブジェクトを表示させることは可能です。

kant2526kant2526

お返事いただきありがとうございます。
HoloLens2上で、QRcodeを読み取り(マーカーとして)、任意の3Dオブジェクトを表示させることは可能でしょうか。
説明不足で申し訳ありません。

kant2526kant2526

ちなみに現在Unityを使用しているのですが、QRTrackingで任意の3Dオブジェクトを表示させるには、UnityよりもUEのほうが良いのでしょうか。

イワケンイワケン

QRcodeを読み取り(マーカーとして)、任意の3Dオブジェクトを表示させることは可能でしょうか。

アプリとしてUnityからビルドする場合可能です。

ちなみに現在Unityを使用しているのですが、QRTrackingで任意の3Dオブジェクトを表示させるには、UnityよりもUEのほうが良いのでしょうか。

特に理由がなければ、Unityがおすすめです。

jonouchi1129jonouchi1129

分かりやすいご説明ありがとうございます。大変参考になります。
一つ質問があるのですが、QRコードのサイズやIDの表示と同じように、QRコードの座標と姿勢を取り出して、検出したQRコードの上に表示することはできるのでしょうか。