本日はチュートリアル枠です。
今回自分が3年前HoloLens に初めて触れ右も左もわからない中開発を行った頃の自分に向けてチュートリアルを作成します。
〇環境を構築しよう!
今回はHoloLensアプリ開発環境を1から構築することを目的とします。 下のようなテーマで書いていこうと思います。
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
・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
〇MRTKの導入
Unity用のMRTKは次のリンクで公開されています。
ページ中央部の[release]を選択します。
2021年5月末現在最新版である2.7のreleaseページへ飛びます。ページ下部のUnityPackageをダウンロードします。
ここで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を選択します。
正常にインストールが完了すると上部のワールドメニューに[MixedRealityToolkit]のタブとプロジェクトウィンドウのAssetsに[MRTK]および[MixedRealityToolkit.Generated]というフォルダが作成されます。
以上でMRTKの導入が完了しました。
〇HoloLens用のシーンの構築
開発ツールの導入が完了したため次に実際にHoloLensアプリで使用するシーンを作成します。
①上部ワールドメニュー[MixedRealityToolkit]から[Toolkit]→[Add to Scene and Configure]を選択します。 この作業によってシーンに[MixedRealityToolkit]と[MixedRealityPlayspace]と[MixedRealitySceneContent]オブジェクトが追加されます。
[MixedRealityPlayspace]はカメラやカーソル、HandTrackingのオブジェクト等デバイス依存のオブジェクトが生成、格納されます。
[MixedRealityToolkit]オブジェクトはターゲットデバイスの設定や使用する機能の設定などを行います。
②[MixedRealityToolkit]をクリックしてインスペクターウィンドウから[MixedRelityToolkit]の最上部に表示されているプルダウンメニューから[default HoloLens2ConfigurationProfile]もしくはHoloLens 1st向けに開発する場合は[default HoloLens1stConfigurationProfile]へ切り替えます。
これはターゲットデバイスごとに使用する機能のテンプレートで、プルダウンメニューに表示されるテンプレートをもとに自分のアプリにあった設定へ書き換えていきます。
以上でMRTKの設定が完了しました。
Unity上部の再生ボタンを押します。
UnityEditorが実行されます。
〇UnityEditor上の操作方法
UnityEditor上ではHoloLens実機で動かすアプリをシュミレートできます。
〇移動
・Wキー→全身
・Aキー→左移動
・Dキー→右移動
・Sキー→後退
・Eキー→上昇
・Qキー→下降(しゃがむ)
・マウス右クリックしながら動かす→視点操作
・マウス右クリックしながらホイール→傾き
〇HandTracking
・Tキー→左手を表示
・Yキー→右手を表示
・スペースキー→右手の表示
・スペースキー+マウス→右手の移動
・左Shiftキー→左手の表示
・左Shiftキー+マウス→左手の移動
・手が表示されている状態+マウスクリック→AirTapジェスチャー
以上が基本的なUnity上での操作です。 今回MRTKを導入した基本的なシーンを作成しました。次回HoloLensへビルドして実機で表示します。