MRが楽しい

MRやVRについて学習したことを書き残す

UnityでのHoloLens(WindowsMR)プロジェクトの作成手順(MRTK 2017.4.0.0版)

本日は HoloLens の技術調査枠です。
UnityでのHoloLens(WindowsMR)プロジェクトの作成手順の基本について改めてまとめます。

Unityプロジェクトの新規作成からUWPアプリをビルドするまでの手順になります。

開発環境の準備

開発環境として Unity のインストールが必要になります。
以下の記事を参考にインストールを実施してください。
bluebirdofoz.hatenablog.com

2018/08/01現在、Unity の最新バージョンは 2018.2.1f1 です。
ただし MRTK 2017.4.0.0 は Unity 2017 の対応バージョンです。
このため、以下を参考に Unity 2017.4.3f1 を利用するのを推奨します。
bluebirdofoz.hatenablog.com

Mixed Reality Toolkit(MRTK)の取得

Mixed Reality Toolkit(MRTK) は Unity 上で Mixed Reality プロジェクトを作成するためのコンポーネントがまとめられたオープンソースプロジェクトです。
以下のリリースページから最新の HoloToolkit-Unity-XXXX.X.X.X.unitypackage を取得します。
github.com

2018/08/01現在、MRTK の最新バージョンは 2017.4.0.0 です。
HoloToolkit-Unity-Examples-XXXX.X.X.X.unitypackage はサンプルシーン集なので本記事では利用しません。

Unity プロジェクトの作成と MRTK のインポート

Unity で新規プロジェクトを作成します。
Unity を起動し、New タブから新規プロジェクトの設定を行います。
・Project name:任意のプロジェクト名
・Templaete:3D
・Location:任意のディレクト
設定を完了したら「Create project」をクリックしてプロジェクトを作成します。
f:id:bluebirdofoz:20180801063742j:plain

プロジェクトが作成されたら Unity を起動したままの状態で、先ほど取得した HoloToolkit-Unity-2017.4.0.0.unitypackage を実行します。
すると「Import Unity Package」ダイアログが表示されます。
「Import」ボタンをクリックして MRTK をプロジェクトにインポートします。
f:id:bluebirdofoz:20180801063751j:plain

Asset に古い API が利用されている場合、以下のようなダイアログが表示されます。
「I Made a Backup. Go Ahead」 を選択すれば、Unity が自動的に新しい API に書き換えてくれます。
特に理由がない限り、「I Made a Backup. Go Ahead」を選択してよいです。
f:id:bluebirdofoz:20180801063758j:plain

HoloLens(WindowsMR) プロジェクトの基本設定

MRTK では HoloLens(WindowsMR) 向けプロジェクトのシーン/ビルド設定の自動設定が行えます。

最初にビルド設定を実施します。
MRTK のインポートが完了していれば、メニューに「Mixed Reality Toolkit」の項目が追加されています。
Mixed Reality Toolkit -> Apply Mixed Reality Project Settings を選択します。
f:id:bluebirdofoz:20180801063807j:plain

「Apply Mixed Reality Project Settings」ダイアログが表示されます。
デフォルト設定のまま「Apply」を実行します。
f:id:bluebirdofoz:20180801063818j:plain

次にシーン設定を実施します。
Mixed Reality Toolkit -> Apply Mixed Reality Project Settings を選択します。
f:id:bluebirdofoz:20180801063831j:plain

「Apply Mixed Reality Scene Settings」ダイアログが表示されます。
デフォルト設定のまま「Apply」を実行します。
f:id:bluebirdofoz:20180801063841j:plain

以上で HoloLens(WindowsMR) プロジェクトの基本設定は完了です。
f:id:bluebirdofoz:20180801063851j:plain

シーンの作り込み

アプリの機能を実現するためのシーンの作り込みを行います。
今回はアプリ実行時に、動作していることが分かるように X:0,Y:0,Z:2 の位置に Sphere オブジェクトを配置しました。
f:id:bluebirdofoz:20180801063902j:plain

プロジェクトのビルド

メニューから File -> Build Settings を開きます。
f:id:bluebirdofoz:20180801063910j:plain

「Build Settings」ダイアログが開くので「Build」ボタンをクリックします。
(このとき、「Build Settings」にエラーメッセージが表示される場合は後述の「Unity 2018 以降の注意点」を確認下さい)
f:id:bluebirdofoz:20180801063919j:plain

出力フォルダの指定を要求されるので、ディレクトリを作成して「フォルダーの選択」をクリックします。
f:id:bluebirdofoz:20180801063927j:plain

ビルドが完了すると、指定ディレクトリに sln ファイルが生成されます。
以上で Unity でのビルド作業は完了です。
f:id:bluebirdofoz:20180801063936j:plain

Unity 2018 以降を利用する際の注意点

Unity 2018 以降の環境で「Build Settings」を開くと、以下のエラーメッセージが表示されることがあります。
「Currently selected scripting backend(.NET) is not installed.」
f:id:bluebirdofoz:20180801063946j:plain

これは MRTK 2017.4.0.0 はビルド設定で Scripting Backend に .NET が設定されることが原因です。
Unity 2018 ではインストール時に「UWP Build Support(.NET)」がデフォルトではチェックされず、インストールされません。
f:id:bluebirdofoz:20180801063955j:plain

解決方法として、「UWP Build Support(.NET)」にチェックを入れて Unity を再インストールするのも手ですが。
将来的に Scripting Backend は IL2CPP に移行するらしいので、ビルド設定の方を IL2CPP にするのが良いでしょう。
メニューから Edit -> Project Settings -> Player を選択します。
f:id:bluebirdofoz:20180801064003j:plain

Inspector タブに「PlayerSettings」が表示されます。
「Other Settings」パネルにある「Scriping Backend」を「.NET」から「IL2CPP」に変更します。
f:id:bluebirdofoz:20180801064012j:plain

これで「Build Settings」を開くと、エラーが解消されています。
f:id:bluebirdofoz:20180801064020j:plain