What's New

技術情報や大学の授業で使用した演習をメモしていきます。このブログは個人のメモで、所属企業や大学の公式情報ではありません。

【ビギナー向け】MRTK v2.2.0 がリリースされたので Examples をビルドしてみました

今日もブログをご覧いただきありがとうございます!!

今回は MRTK v2.2.0 のサンプルをビルドして HoloLens 2 や Unity で動かしてみたいと思います。
f:id:atsushisz:20191217201134p:plain

これから HoloLens 2 の開発を始めようという方は参考にしてみてください!
HoloLens 2 が手元になくても Unity で動かすところまではできます。
既に HoloLens 1、HoloLens 2 の開発をしている方にはおなじみの手順ですね。

開発環境の構築がまだの方は、先にこちらの構築手順を参考にして開発環境をセットアップしましょう。
blog.atsushisz.jp

ちょっと長いけど頑張って作っていきましょう!

目次

アセットパックのダウンロード

まず、MRTK v2.2.0 のアセットパックをダウンロードしましょう

GitHub にアクセスして以下のアセットパックをダウンロードしてください
github.com

Microsoft.MixedReality.Toolkit.Unity.Examples.2.2.0.unitypackage
Microsoft.MixedReality.Toolkit.Unity.Foundation.2.2.0.unitypackage
f:id:atsushisz:20191221031606p:plain:w400

新しい Unity プロジェクトを作成

Unity で新規のプロジェクトを作っていきましょう
ここで指定したプロジェクト名は後半の手順でも使うのでわかりやすい名前にしておいてください

Unity Hub を起動してください
プロジェクトタブで右上の[新規作成]ボタンをクリックしてください
f:id:atsushisz:20191221031610p:plain:w400

※Unityを複数バージョンインストールしている場合はドロップダウンリストから[2018.4.12f1]を選択してください

テンプレートで[3D]を選択、プロジェクト名に任意の名前を入力、保存先を指定したら[作成]をクリックしてください
僕はプロジェクト名を「MRTKv2Examples」という名前にしました
f:id:atsushisz:20191221031614p:plain:w400
Unity を初めて起動する場合、ファイアウォールの警告が表示される場合があります
[アクセス許可する(A)]をクリックして Unity に通信を許可してください
f:id:atsushisz:20191221031618p:plain:w400

少し待つと Unity エディターが起動します

プロジェクトを構成

HoloLens 2 用に Unity プロジェクトを設定していきます

[File]>[Build Settings...]をクリックしてください
f:id:atsushisz:20191221031622p:plain:w400

[Universal Windows Platform]を選択して[Switch Platform]をクリックしてください
f:id:atsushisz:20191221031626p:plain:w400

[Player Settings...]をクリックしてください
f:id:atsushisz:20191221031631p:plain:w400

インスペクターウィンドウ (Inspector) の[XR Settings]で[Virtual Reality Supported]のチェックをオンにしてください
[Enable Depth Buffer Sharing]のチェックを外してください
[Stereo Rendering Mode*]のドロップダウンリストから[Single Pass Instanced]を選択してください
f:id:atsushisz:20191221031635p:plain:w400

これで設定できました
Build Settings のウインドウは右上の[X](閉じる)ボタンで閉じておきましょう

Mixed Reality Took Kit アセットパックをインポート

GitHub からダウンロードしたアセットパックをインポートしていきます

[Assets]>[Import Package]>[Custom Package...]をクリックしてください
f:id:atsushisz:20191221031639p:plain:w400

GitHubからダウンロードした Microsoft.MixedReality.Toolkit.Unity.Foundation.2.2.0.unitypackage のアセットパックを選択して[開く(O)]をクリックしてください
f:id:atsushisz:20191221031643p:plain:w400

全ての項目のチェックがオンになっていることを確認して[Import]をクリックしてください
f:id:atsushisz:20191221031647p:plain:w400

インポート中に「MRTK Project Configurator」というウインドウが表示されます
f:id:atsushisz:20191221031650p:plain:w400
インポートが終わってプログレスバーが表示されなくなったら[Apply]をクリックしてください
f:id:atsushisz:20191221031654p:plain:w400

Examples アセットパックをインポート

GitHub からダウンロードしたサンプルのアセットパックをインポートしていきます

[Assets]>[Import Package]>[Custom Package...]をクリックしてください
f:id:atsushisz:20191221031658p:plain:w400

GitHubからダウンロードした Microsoft.MixedReality.Toolkit.Unity.Examples.2.2.0.unitypackage のアセットパックを選択して[開く(O)]をクリックしてください
f:id:atsushisz:20191221031702p:plain:w400

全ての項目のチェックがオンになっていることを確認して[Import]をクリックしてください
f:id:atsushisz:20191221031706p:plain:w400

シーンを開く

今回はハンドインタラクションのサンプルシーンを使用します
他にも様々なサンプルシーンが用意されているので試してみてください

プロジェクトウインドウ (Project) で [Assets]>[MixedRealityToolKit.Examples]>[Demos]>[HandTracking]>[Scenes]>[HandInteractionExamples]をダブルクリックしてシーンを開いてください
f:id:atsushisz:20191221031710p:plain:w400

[Import TMP Essentials]ボタンをクリックしてください
f:id:atsushisz:20191221031715p:plain:w400

インポートが終わったら TMP Importer のウインドウは右上の[X](閉じる)ボタンで閉じておきましょう

Unityでテスト

ハンドインタラクションのサンプルシーンを Unity で試してみましょう
HoloLens 2 の実機がなくても一通りの動きは確認できます

[Play]ボタンを押すとゲームビューにハンドインタラクションの画面が表示されます
f:id:atsushisz:20191221031719p:plain:w400

キーボードとマウスを使用して以下のように操作ができます

【シーン内の移動】

操作 キー 説明
カメラ前後左右移動 f:id:atsushisz:20191221171755p:plain:w150 W / A / S / D キーを使用してカメラを 前方 / 左 / 後ろ / 右 に移動
カメラ上下移動 f:id:atsushisz:20191221171759p:plain:w150 Q / E を使用してカメラを垂直方向に移動
カメラ回転 f:id:atsushisz:20191221171803p:plain:w150 マウスの右ボタンを押したままにしてカメラを回転

【手の入力をシミュレート】

操作 キー 説明
右手の有効化 f:id:atsushisz:20191221171806p:plain:w150 スペースバーを長押しすると右手が有効になります
手を動かす f:id:atsushisz:20191221171810p:plain:w150 スペースバーを押したままマウスを動かして手を動かします
奥行方向に手を動かす f:id:atsushisz:20191221171814p:plain:w150 マウスのスクロールホイールを使用して、手の奥行きを調整します
ピンチジェスチャ f:id:atsushisz:20191221171818p:plain:w150 マウスの左ボタンクリックでピンチジェスチャを行います
手を常時表示 f:id:atsushisz:20191221171822p:plain:w150 T / Yキーで手が常時表示されます
手を回転 f:id:atsushisz:20191221171826p:plain:w150 Ctrl キーを押しながらマウスを動かして手を回転させます

アプリケーションのビルド

アプリをビルドして Visual Studio のソリューションを作成していきます
ここからの手順では Unity のプロジェクト名、Visual Studio のソリューション名、Visual Studio のプロジェクト名 が出てきます
同じ名前なので紛らわしいですが、スクリーンショットを見ながら設定個所を確認してください

[File]>[Build Settings...]をクリックしてください
f:id:atsushisz:20191221031723p:plain:w400

[Add Open Scene]をクリックしてシーンを追加してください
f:id:atsushisz:20191221031727p:plain:w400

[Build]ボタンをクリックすると、フォルダーの選択画面が表示されます
「App」という名前の新しいフォルダーを作成して[フォルダーの選択]ボタンをクリックしてください
※フォルダー名は任意です
f:id:atsushisz:20191221031731p:plain:w400

マシンのスペックにもよりますが、ビルドに時間がかかるので一息ついて待ちましょう

ビルドが終わるとエクスプローラーが表示されます
ビルドの際に作成した[App]フォルダーを開いて、Unity プロジェクト作成時に指定したファイル名のソリューションファイル(.sln)をダブロクリックして Visual Studio 2019 で開いてください
僕は Unity のプロジェクト名を「MRTKv2Examples」にしたので、「MRTKv2Examples.sln」というファイルを開きます
f:id:atsushisz:20191221031735p:plain:w400

ファイルを開くと少しの間バックグラウンドタスクが実行されます
左下のアイコンのアニメーションが止まるまで少し待ちましょう
アイコンをクリックすると進捗がプログレスバーでわかります
f:id:atsushisz:20191221031739p:plain:w400

ソリューションエクスプローラーでソリューションを右クリックして、[プロパティ(R)]をクリックしてください
f:id:atsushisz:20191221031745p:plain:w400

[シングルスタートアップ プロジェクト(S)]が選択されていて、プロジェクト名が Unity プロジェクト作成時に指定したプロジェクト名になっていることを確認してください
もし違う場合は上記の通り修正して[OK]をクリックしてください
f:id:atsushisz:20191221031750p:plain:w400

構成を[Release]ターゲットプラットフォームを[ARM]緑色の矢印のターゲットを[Device]に指定してください
f:id:atsushisz:20191221031754p:plain:w400

デバイスへの配置

アプリをビルドして HoloLens 2 に配置します
HoloLens 2 の電源を入れて USB-C ケーブルで PC に接続してください

[デバッグ]>[デバッグなしで開始(H)]をクリックしてください
f:id:atsushisz:20191221031758p:plain:w400

初めて HoloLens 2 にアプリを配置する際にはペアリングが必要です
ビルドが終わって PIN の入力画面が表示されたら HoloLens 2 で PIN を確認しましょう
f:id:atsushisz:20191221031803p:plain:w300

HoloLens 2 で[設定]アプリを起動してください
[更新とセキュリティ]>[開発者向け]を開いて[ペアリング]をタップしてください
f:id:atsushisz:20191221031807p:plain:w400

PIN が表示されたら Visual Studio のウインドウに入力して[OK]をクリックしてください
f:id:atsushisz:20191221031811p:plain:w300

これで HoloLens 2 に配置されてアプリが起動します
アプリが起動したらUSBケーブルを抜いても大丈夫なのでいろいろなハンドインタラクションを試してみましょう!!

ハンドインタラクションのコントロールの説明はこちらを参考にしてください
hololabinc.github.io

今回はサンプルをビルドして HoloLens 2 で実行しました
サンプルに含まれている他のシーンもいろいろと試してみてください!

それでは、今回もお読みいただきありがとうございました。