夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

ゼロから学ぶHoloLens 初心者向けチュートリアル MRTKを使おう! UnityEditorで動かす。

本日はチュートリアル枠です。

今回自分が3年前HoloLens に初めて触れ右も左もわからない中開発を行った頃の自分に向けてチュートリアルを作成します。

〇環境を構築しよう!

今回はHoloLensアプリ開発環境を1から構築することを目的とします。 下のようなテーマで書いていこうと思います。

1.Unityの環境を構築しよう!

2.MRTKを使おう!MRTKとは何か?←

3.HoloLensの5大要素を学ぶ

4.応用編

〇環境

・Unity2019.4.18f1(LTS)

 ・VisualStudio2019

●筆者PC環境

 ・OS:Windows10 Pro

 ・プロセッサ:11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz 3.50 GHz

 GPU:NVIDIA GoForceRTX 3080

 Microsoft HoloLens 1st

Microsoft HoloLens 2

 スペックに関しては高いほうが良いですが、HoloLensアプリ開発の場合VRとくらべ求められるスペックは低いです。

 Unityが動くスペックであれば最低限問題ないです。

〇MRTKとは?

昨日Unityを導入しました。

UnityではC#を用いてプログラミングを行いHoloLensのアプリを作成することができます。

HoloLensのメーカーであるMicrosoftはHoloLensアプリの開発のスピードを上げるために[MixedRealityToolkit(MRTK)]と呼ばれる開発ツールを提供しています。

MRTKを使用することで基本的な動作に関してはノーコーディング(プログラミングなしで)もしくはローコーディング(わずかなプログラミング)で構築することが可能です。

MRTKはHoloLensを含む主に次のようなマルチプラットフォームバイスに対応しています。

・HoloLens 1st

・HoloLens 2

・OculusQuest

・OculusQuest 2

・OpenXR

Windows MixedRealtyデバイス

〇MRTKの導入

Unity用のMRTKは次のリンクで公開されています。

github.com

ページ中央部の[release]を選択します。

f:id:Holomoto-Sumire:20210530131101j:plain

2021年5月末現在最新版である2.7のreleaseページへ飛びます。ページ下部のUnityPackageをダウンロードします。

f:id:Holomoto-Sumire:20210530131222j:plain

ここでMRTKにはいくつかのUnityパッケージが存在していることに気が付きます。

それぞれ次のような機能を持っています。

Microsoft.MixedReality.Toolkit.Unity.Foundation.2.7.0.unitypackage

MRTKのコアパッケージです。 MRTKを使用するために最初に導入します。

Microsoft.MixedReality.Toolkit.Unity.Examples.2.7.0.unitypackage

サンプル集です。 MRTKの中で必須のコンポーネントは入っていませんが機能を流用することでノーコーディングでアプリ開発が行えるため特に初心者の方は入れておくことをお勧めします。

Microsoft.MixedReality.Toolkit.Unity.Extensions.2.7.0.unitypackage

拡張機能ですOculusなどの機能を使用できます。

Microsoft.MixedReality.Toolkit.Unity.Tools.2.7.0.unitypackage

ビルド用のコンポーネントです。 Microsoft.MixedReality.Toolkit.Unity.TestUtilities.2.7.0.unitypackage

この中で必須となるパッケージは[Microsoft.MixedReality.Toolkit.Unity.Foundation]です。

ダウンロードしたMRTKのパッケージをUnityのプロジェクトウィンドウへD&Dします。もしくはプロジェクトウィンドウでマウスの右クリック[ImportPackage]→[Custom Package]で開いたエクスプローラーからUnityPackageを選択します。

f:id:Holomoto-Sumire:20210530132534j:plain

正常にインストールが完了すると上部のワールドメニューに[MixedRealityToolkit]のタブとプロジェクトウィンドウのAssetsに[MRTK]および[MixedRealityToolkit.Generated]というフォルダが作成されます。

f:id:Holomoto-Sumire:20210530132741j:plain

以上でMRTKの導入が完了しました。

〇HoloLens用のシーンの構築

開発ツールの導入が完了したため次に実際にHoloLensアプリで使用するシーンを作成します。

①上部ワールドメニュー[MixedRealityToolkit]から[Toolkit]→[Add to Scene and Configure]を選択します。   この作業によってシーンに[MixedRealityToolkit]と[MixedRealityPlayspace]と[MixedRealitySceneContent]オブジェクトが追加されます。

f:id:Holomoto-Sumire:20210530133249p:plain

[MixedRealityPlayspace]はカメラやカーソル、HandTrackingのオブジェクト等デバイス依存のオブジェクトが生成、格納されます。

[MixedRealityToolkit]オブジェクトはターゲットデバイスの設定や使用する機能の設定などを行います。

②[MixedRealityToolkit]をクリックしてインスペクターウィンドウから[MixedRelityToolkit]の最上部に表示されているプルダウンメニューから[default HoloLens2ConfigurationProfile]もしくはHoloLens 1st向けに開発する場合は[default HoloLens1stConfigurationProfile]へ切り替えます。

f:id:Holomoto-Sumire:20210531203144j:plain

 これはターゲットデバイスごとに使用する機能のテンプレートで、プルダウンメニューに表示されるテンプレートをもとに自分のアプリにあった設定へ書き換えていきます。

 以上でMRTKの設定が完了しました。

 Unity上部の再生ボタンを押します。

 f:id:Holomoto-Sumire:20210531203916j:plain

 UnityEditorが実行されます。

f:id:Holomoto-Sumire:20210531204045j:plain

〇UnityEditor上の操作方法

UnityEditor上ではHoloLens実機で動かすアプリをシュミレートできます。

〇移動

・Wキー→全身

・Aキー→左移動

・Dキー→右移動

・Sキー→後退

・Eキー→上昇

・Qキー→下降(しゃがむ)

・マウス右クリックしながら動かす→視点操作

・マウス右クリックしながらホイール→傾き

〇HandTracking

・Tキー→左手を表示

f:id:Holomoto-Sumire:20210531204421j:plain

・Yキー→右手を表示

f:id:Holomoto-Sumire:20210531204513j:plain

・スペースキー→右手の表示

・スペースキー+マウス→右手の移動

・左Shiftキー→左手の表示

・左Shiftキー+マウス→左手の移動

・手が表示されている状態+マウスクリック→AirTapジェスチャー

f:id:Holomoto-Sumire:20210531204822j:plain

以上が基本的なUnity上での操作です。 今回MRTKを導入した基本的なシーンを作成しました。次回HoloLensへビルドして実機で表示します。