前回記事からすぐですが、mofmofにHoloLens2が到着したので早速環境構築していきます。

今回はHololens2のセットアップと、実際に適当なプロジェクトを作ってxR系統のHello worldことtofuをHoloLens2でみられるようにしたいと思います。

動作環境

  • windows Windows 10 Home OSビルド 19042.662
  • unity HUb 2.4.2
  • unity 2019.4.15f1
  • visual Studio 2019 16.8.2 Community

で立ち上げています。

事前準備

HoloLens2に限りませんが、Windowsデバイスは開発者モードにしておく必要があることが多いです。HoloLens2の開発でもWindows機、HoloLens2実機のどちらも開発者モードにする必要があるみたいでした。 development-mode

設定 -> 更新とセキュリティ -> 開発者モード から変更しましょう。

HoloLens2の方も同様に開発者モードにします。中身はWindowsOSが入ってるようなのでこちらも同様にセットアップします。

このタイミングで初めてHoloLens2を起動してみましたが、空中に画面が浮かんだり、手首にwindowsマークがあって押したら設定が表示されたりと、近未来的な感じがしました。 一方、空中に浮かんだ画面やキーボードをクリックするのが結構大変で、パスワードの入力のとことかは特に難易度が高いです(主に誤タップ的な意味で)もっといい方法があるのかもしれませんが、細かいリンクをクリックするのに手こずりました。

Unity側で環境を整える

まだUnityが入っていない場合はUnityHubからUnityのインストールを行います。 すでにインストール済みの場合は Universal Windows Platform Build Support (以降UMP)モジュールが入っているかどうかを確認し、もし入っていなければ追加してください。

インストールが終わったら、サンプル用のプロジェクトを立ち上げましょう。 new project

テンプレートは3Dを選択しました。

プロジェクト作成後、そのまま開くので少し待ちます。

unityプロジェクトが開いたら、FileからBuildSettingsを開きます。下記のような画面がポップアップされると思います。

build support switch

画像のように、UMPを選択し、Switch Platform でUMPを使用するように切り替えましょう。現在のPlatformがどれであるかはUnityロゴがついているものになります。(画像ではUMPにswitch済み。自分の環境ではデフォルトはPC,Mac & Linuxが選択されていました。)

選択が終わったら、ポップアップ左下部のPlayerSettingを選択し、別ポップアップを開きます。

player settings

このポップアップ上で、XR Settings を選択し、プルダウンを表示させます。 Virtual Reality Support が有効になっていなければ、チェックをいれて有効にしましょう。

最後に、プラスボタンを押して、SDKにWindowsMixedReality がなければそれを追加します。

MRTKを入れる

https://github.com/Microsoft/MixedRealityToolkit-Unity/releases

Unityは一からゴリゴリと何かを書くと結構大変です。

とはいえ、Webにおけるアセットやライブラリのように、Unityでもよく使われるようなボタンやゲームのHPバーなどはライブラリとして提供されています。

HoloLens2の場合はMRTKと呼ばれるオープンソースのツールキットがあり、 MRTK Pointer MainMRTK SystemKeyboard Main

ハンドトラッキングやキーボードなどは自前で作成しなくてもMRTKを導入することで高いクオリティでそのまま使用することができるみたいです。

MRTKなしでなにかを実装するのは茨の道のようなので、今回はMRTKのセットアップもやっていきます。

MRTKのインストール

MRTKをインストールする前に、依存関係であるText Mesh Proと呼ばれるテキストのリッチな演出ができるアセットをインストールしましょう。

https://blogs.unity3d.com/jp/2017/03/20/textmesh-pro-joins-unity/

text mesh pro install

画像にあるように、 Import TMP Essential Resources を実行しましょう。

実行が終わったら、MRTKをダウンロードしていきます。 https://github.com/Microsoft/MixedRealityToolkit-Unity/releases

Microsoft.MixedReality.Toolkit.Unity.Foundation.2.5.1.unitypackage が基本パッケージのようです。 Microsoft.MixedReality

とりあえずはこいつをダウンロードしましょう。 ダウンロードが終わったら、AssetsからImport Packageを行い、先ほどダウンロードしたMRTKを読み込みます

asset import

インポートしたら、MRTKのポップアップが出てくるので、Applyを押して適用します。とりあえずオールインで全てにチェックを入れています。

Tofuを出す

ここからUnityの元来の機能を少し触ります。 Hierarchyから、3Dオブジェクトを生成し、 cube

スクリーンショット 2020-12-01 235417

positionなどを変更して目の前にcubeが出るようにします。 HoloLens2に表示させたいシーンが出てきたら、

save-as

save asでシーンを適当な場所に保存しましょう。

保存が終わったら、再度Hierarchyのセクションに戻り、インポートして追加されているMixedRealityToolKit を選択、InsupectorのプロファイルをHoloLens2のものに変更しましょう。

mixedReality

Buildする

ここまで出来たら、再度Fileから、BuildSettingsを選択し、右上Add Open Sceneボタンをクリックする。これで先ほど保存したシーンを選択しておく。

build support switch

ここでBuildしたいところではあるができない。

自分の環境だと、真ん中あたりに赤い!マークがでて、サポートされているSDK見つからない的なことが言われているのが原因みたいです。

ないなら入れる。エラー内容に従ってみましょう。

https://developer.microsoft.com/ja-jp/windows/downloads/windows-10-sdk/

自分は上記のとこからインストールした。インストールしてUnityを再度開いてみる。

sdl-install-after

ちょっと変わった。どうやらBuildもできそう。 ただ、黄色い!がでている。あまりいいことは言ってない。どうやらVisual Studioにこのビルドしたプロジェクトを実行するためのコンポーネントがないらしい。 なるほど。

Visual Studio Instollerを開いて、確認する。

visual studio installer

変更をクリックして、ユニバーサルWindowsプラットフォームの項目にチェックを入れて、右側の必要っぽいものにチェックを入れていく。

modify

ダウンロード。結構時間がかかる。

終わったら、再度Unityを開く。 perfect-setting

オッケーな気がする。 エラーや警告が出ていなければBuildします。 場所は今回はどこでもいいがAppディレクトリを作ってそこに置いてみた。

Visual Studio

ビルドが終わったら、Visual Studioで開く。 ビルドの中に、.slnという拡張子のファイルがあると思われるので、それをVisual Studioで開く。

スクリーンショット 2020-12-01 235133 スクリーンショット 2020-12-01 235118

Visual Studioの構成をReleaseに、その右の項目をARM64に設定。

設定を終えたら、プロパティタブを開いて、鍵マークのようなものをクリックする。プロパティページがポップアップする。

property-page

プロパティページからデバッグを選択し、コンピューター名にHoloLens2のIPアドレスを入れる。(HoloLens2とコンピューターを有線接続している場合はこの工程はスキップできるみたい)

入力できたら、デバッグメニューから、デバッグなしで開始を選択し、デバッグインストールを行う。

リモート接続の場合、HoloLens2側で開発者モードからペアリングを行い、PINを発行する。Visual Studioでそれを要求されるので、接続すればオッケー。 正常に立ち上がった場合、HoloLens2側では自動でUnityが立ち上がるので、そのまま確認できる。

やったー!できた!

公式のビルドガイドが丁寧。

tofu-holo