読者です 読者をやめる 読者になる 読者になる

HoloLensのエミュレータを起動し、Unityでアプリを作るまでの手順メモ

Unity HoloLens

先日、@kaorun55 さんのご厚意により、HoloLensを試すことができました。
(@kaorun55さん、ありがとうございました)

twitter.com


「百聞は一見に如かず」の通りでした。体験してわかることがたくさんあり、これはすごい!という一言に尽きました。


HoloLensの体験レポートは、PANORAさんやMoguraVRさんがまとめていらっしゃるので、詳細はこちらをご確認ください。私もだいたい同じ印象を持ちました。

PANORA VIRTUAL REALITY JAPAN » 日本で一般初公開!! ニコニコ超会議・JALブースのHololensはヌルヌル動作がスゴかった

【体験レポ】ニコニコ超会議2016のJALブースで「HoloLens」を体験。その実力は? | Mogura VR - 国内外のVR最新情報


HoloLensは価格やその他条件などが理由で、現状簡単には手に入りません。しかし、Microsoftからエミュレータが公開されています。

そこで、エミュレータを動かして、もう少し詳細に調べてみることにしました。


====================================
目次

1. インストール

1-1. Visual Studio Update2

1-2. HoloLens Emulator

1-3. HoloLensアプリ開発用のUnity

1-4. Unity用のUWP Tool

2. ビルド、エミュレータの起動

2-1. UnityでC#プロジェクトをビルド

2-2. Visual Studioからエミュレータを起動

3. その他Tips

3-1. 操作方法

3-2. Spatial Mappingのスキャンの雰囲気を体感する

3-3. エミュレータの中でUnityアプリを起動する

3-4. 全体的にやや不安定?

4. 感想
====================================

1. インストール

(2016/5/8時点の情報を元に書いています。今後のアップデートで、必要なものや手順が変わる可能性があるのでご了承ください)

大前提が2つあります。

(1)Windowsが10 Pro以上のエディションであること



(2)仮想化機能に対応したCPUであること

以下の手順で確認/設定ができます。

(2-1) PCの電源を切り、BIOSを立ち上げる (機種によって異なりますが、私の環境ではDELキー or F2キーの連打でいけました)

(2-2) Advanced -> CPU Configurationを選択

(2-3) Intel Virtulization Technology をDisabledからEnabledにする

(2-4) Save&Exit (機種によってはSave&Reset)を選択して再起動する


仮想化機能が有効になっているかは、

コントロールパネル→プログラムと機能→Windowsの機能の有効化または無効化

で、Hyper-Vにチェックが付いているかで判断できます。

f:id:Takyu:20160508220807p:plain


その他、64bitで4coreのCPU、8GBのRAMなど、PCの性能自体も高めである必要があります。


以下、Windows10Pro、仮想化機能が有効であることを前提に進めます。

このページのリンクから4つのツールを入手できます。

1-1. Visual Studioのアップデート

上記のリンクからVisual Studio 2015 Update 2を選択してダウンロードします。

If you choose a custom install, ensure that Tools (1.3.1) and Windows 10 SDK (10.0.10586) is enabled under Universal Windows App Development Tools node. All editions of Visual Studio 2015 Update 2 are supported, including Community.

とあるように、UWPをビルドできるようにするため、インストール時は必ず「カスタム」を選択してください。私の環境では「カスタム」を選択すれば、必要なツールは自動的に選択されていました。

1-2. HoloLens Emulator

上記のリンクからHoloLens Emulatorを選択してダウンロードします。画面の指示に従って進めるだけでインストールできます。

Virtulization is not set とかのエラーが出てインストールに失敗する場合、冒頭の仮想化機能を有効にしてから再インストールを試してください。


1-3. HoloLensアプリ開発用のUnity

上記のリンクからUnityのHPに飛びます。ここで、HoloLensアプリ開発専用のUnityをインストールします。
(なぜかMonoDevelopしか選択肢がありませんでした)

インストールに成功すると、いつも使っているUnityとは別ものとして、デスクトップにショートカットが生成されます。

f:id:Takyu:20160508151117j:plain

1-4. Unity用のUWP Tool

上記のリンクからUWP Toolを選択してダウンロードします。画面の指示に従って進めるだけでインストールできます。


周辺に書いてある指示を見ると、Unity -> UWP Toolの順番にインストールする必要があるようです。


ここまでやると、環境構築は完了です。

2. ビルド、エミュレータの起動

2-1. UnityでC#プロジェクトをビルド

再度 @yuujii さんにお世話になりました。ありがとうございます。

ここで指定されているリンクからサンプルプロジェクトをダウンロードします。

上記ページのリンクから取得できます。300MBくらいあるのでダウンロードに少し時間がかかります。

ダウンロード、解凍後にHolographicAcademy-Holograms-101というフォルダができます。今回は以下を使ってみました。


HolographicAcademy-Holograms-101\Catch up Chapters\7-SpatialMapping-Completed

これをUnityで開きます。

completeプロジェクトなのでほぼ何もしなくて大丈夫です。ビルド設定だけ調整します。

f:id:Takyu:20160508155830p:plain

Virtual Reality Supportedにチェックを付けます。普段とちがって"Windows Holographic"というリストが表示されます。


f:id:Takyu:20160508151428j:plain


Publish SettingsのSpatialPerceptionにチェックを入れます。
マニュアルを見ると、Microphoneにもチェックを入れること、とありました。音声認識を使わなければ不要な気がしますが、私の場合、念のためチェックを付けました。


次はビルドです。

f:id:Takyu:20160508151553j:plain

このように、

SDK : Universal 10
UWP Build Type : D3D

Unity C# Projects にチェック

とします。

これでBuildをクリックすれば、Visual Studio用のプロジェクトが生成されます。

2-2. Visual Studioからエミュレータを起動

f:id:Takyu:20160508151644p:plain

Visual Studioを開き、Open->Project/Solution で先ほど作ったC# Projectのslnファイルを指定します。


f:id:Takyu:20160508151718p:plain

このように、ビルド設定を
Release
x86
HoloLens Emulator
と変更します。


Build -> Clean Solutionのあとに、Build -> Build Solutionを選択します。

Output Windowにエラーが出なければビルドは無事に完了しています。


次に、エミュレータの起動、およびUnityアプリの実行です。Debug->Start without Debugging を選択します。

f:id:Takyu:20160508151816p:plain

エミュレータの起動時にこういうメッセージが出たらRetryを選択します。

f:id:Takyu:20160508152053p:plain


この後、数十秒から数分でエミュレータが起動します。

Made With Unityというロゴが出たあとでこのような画面になります。

f:id:Takyu:20160508152152j:plain


スペースキーを押すとロゴが消え、Origamiが見えます。

f:id:Takyu:20160508152845j:plain


3. その他Tips

3-1. 操作方法

キーボードかマウスを使います。

W : 対象に近づく
A/左 : 対象の左側に移動
S   : 対象から遠ざかる
D/右 : 対象の右側に移動
上  : 上方向に移動
下 : 下方向に移動
Enterキー:カーソルをアイコンに合わせたときに押せば「決定」

また、マウスドラッグで移動させることで上下左右キーを押したことと同じことができます。

f:id:Takyu:20160508154330g:plain

ちなみに、この動画の場合、HoloLensをかぶって実際に前後左右、上下に動いた時の見え方をエミュレートしています。

この白い線は、実空間をメッシュにしてスキャンした結果をエミュレートしたものです。

3-2. Spatial Mappingのスキャンの雰囲気を体感する

Unityアプリが起動していないとき(Windowsボタンを押す)に、スペースキーを押します。部屋をスキャンするアニメーションが表示されます。

f:id:Takyu:20160508155337g:plain

3-1の繰り返しになりますが、この白い線は、実空間をメッシュにしてスキャンした結果をエミュレートしたものです。
エミュレータだと背景が黒いのでわかりづらいですが、HoloLensをかぶって見ると、自分が見える実空間の風景に合わせて、このようなスキャン結果が表示されます。実際に見るととても未来的な感じがします。

これにより、Unity用の空間で実空間の構造を把握できるので、HoloLensを付けたときにこんなシーンを見ることが可能になります。

3-3. エミュレータの中でUnityアプリを起動する

2-2の手順でStart without Debuggingを使っても、Unityアプリが起動せず、スタートメニューが表示されるだけ、というのがありました。

そのときは、エミュレータを×ボタンで終了させてからStart without Debuggingで再起動します。

あるいは、以下の手順で直接起動させます。

キーボードのWindowsボタンを押し、このようなメニューが表示されたら、右キーでカーソルを移動させ、+マークが光る位置でEnterキーを押す

f:id:Takyu:20160508152548j:plain

アプリの一覧が出るので、上下左右キーでカーソルをOrigamiに移動させ、Origamiが光る位置でEnterキーを押す

f:id:Takyu:20160508152658j:plain

3-4. 全体的にやや不安定?

感覚的に、UnityもVHoloLens Emulatorも、やや不安定な印象を持ちました。

不安定であることの事例として、一度こうなったことがありました。



再起動してもBIOSしか表示されなかったのでかなり焦りました。
因果関係は不明ですが、直前の操作は、Visual Studio Codeでメモしながらエミュレータを起動してたことでした。


また、HoloLens用のUnityでユニティちゃんアセットをインポートしたら、なぜかシェーダーが認識されませんでした。

f:id:Takyu:20160508160351p:plain


しかし、Space Robot Kyleはなぜかエミュレータでもちゃんと表示されました。

f:id:Takyu:20160508160710j:plain

==========================================================

2016/5/14 追記

ユニティちゃんがピンク色になってしまうのは、Unity5.4のエディタが悪さしていることが原因のようでした。 @nyaa_toraneko さん、、@kaorun55 さん、@yuujii さん、ありがとうございました。

ユニティちゃんアセットをインポートした後、ここからダウンロードしたunitypackageをインポートすることで(=パッチを当てる)、正しく表示されるようになります。

f:id:Takyu:20160514101057p:plain

パッチ用のunitypackageをインポートすると、上書きという意味なのか、該当するしぇーだー部分に矢印を丸めたようなアイコンがついています。


f:id:Takyu:20160514100430p:plain

パッチを当てることで、いつもの表示に戻りました。


ちなみに、このパッチが効くのは、"Unity-chan Model"です。 モーション配布用のアセット"HQ Fighting Animation FREE" には効かないのでご注意ください。

==========================================================

4.感想

エミュレータの動きだけではわかりづらいですが、実際にHoloLensをかぶった後だと、個々の動きの意味がわかります。

エミュレータで色々作り込んでおけば、いざHoloLensが入手できたときに開発がスムーズに進むと思います。

個人的にはHoloLensとMeta2はとても楽しみにしており、勉強しながら色々作ってみたいです。


HoloLensはまだまだ簡単に手に入るものではないですが、ちょうどこのブログを書いている時に、以下のような案内をいただきました。

c-mitsuba.hatenablog.com


HoloMagicians | HoloLens Creator Group Japan

引用です。

この勉強会について
HoloMagiciansはHoloLensに関心のあるデベロッパー、デザイナー、クリエイター集団です。

各地で勉強会を行い、開発セッションやTouch & Try、アイデアソンやハッカソンを行っていきます。ぜひご参加ください。

次回の名古屋はさすがに難しいですが、今後なるべく参加していきたいなと思います。


最後に


下記を参考にさせていただきました。ありがとうございました。

エミュレータの概要と操作方法
www.ms-hololens.com

■インストール関係
www.atmarkit.co.jp


また、灯台下暗しで後で気づきましたが、こちらも簡潔にわかりやすく書かれております。

■Unityで使うサンプルコード
www.naturalsoftware.jp