先日、@kaorun55 さんのご厚意により、HoloLensを試すことができました。
(@kaorun55さん、ありがとうございました)
「百聞は一見に如かず」の通りでした。体験してわかることがたくさんあり、これはすごい!という一言に尽きました。
HoloLensの体験レポートは、PANORAさんやMoguraVRさんがまとめていらっしゃるので、詳細はこちらをご確認ください。私もだいたい同じ印象を持ちました。
日本で一般初公開!! ニコニコ超会議・JALブースのHololensはヌルヌル動作がスゴかった – PANORA
【体験レポ】ニコニコ超会議2016のJALブースで「HoloLens」を体験。その実力は? | Mogura VR
HoloLensは価格やその他条件などが理由で、現状簡単には手に入りません。しかし、Microsoftからエミュレータが公開されています。そこで、エミュレータを動かして、もう少し詳細に調べてみることにしました。
1. インストール
(2016/5/8時点の情報を元に書いています。今後のアップデートで、必要なものや手順が変わる可能性があるのでご了承ください)
大前提が2つあります。
(1)Windowsが10 Pro以上のエディションであること
HoloLensエミュのインストールが失敗した原因は、Hyper-Vが使えぬHome版だった
— ゆーじ (@yuujii) 2016年5月7日
HoloLens Emulator エミュレータの準備と DEP6100 エラーの対処 - tech.guitarrapc.cóm https://t.co/DG2poGMrTQ
(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にチェックが付いているかで判断できます。
その他、64bitで4coreのCPU、8GBのRAMなど、PCの性能自体も高めである必要があります。以下、Windows10Pro、仮想化機能が有効であることを前提に進めます。
このページのリンクから4つのツールを入手できます。
Visual Studioのアップデート
上記のリンクからVisual Studio 2015 Update 2を選択してダウンロードします。
UWPをビルドできるようにするため、インストール時は必ず「カスタム」を選択してください。私の環境では「カスタム」を選択すれば、必要なツールは自動的に選択されていました。
HoloLens Emulator
上記のリンクからHoloLens Emulatorを選択してダウンロードします。画面の指示に従って進めるだけでインストールできます。Virtulization is not set とかのエラーが出てインストールに失敗する場合、冒頭の仮想化機能を有効にしてから再インストールを試してください。
HoloLensアプリ開発用のUnity
上記のリンクからUnityのHPに飛びます。ここで、HoloLensアプリ開発専用のUnityをインストールします。
(なぜかMonoDevelopしか選択肢がありませんでした)
Unity用のUWP Tool
上記のリンクからUWP Toolを選択してダウンロードします。画面の指示に従って進めるだけでインストールできます。周辺に書いてある指示を見ると、Unity -> UWP Toolの順番にインストールする必要があるようです。
ここまでやると、環境構築は完了です。
2. ビルド、エミュレータの起動
2.1 UnityでC#プロジェクトをビルド
再度@yuujii さんにお世話になりました。ありがとうございます。ここで指定されているリンクからサンプルプロジェクトをダウンロードします。
@WheetTweet ここですねhttps://t.co/3pdEOROeZC
— ゆーじ (@yuujii) 2016年5月7日
上記ページのリンクから取得できます。300MBくらいあるのでダウンロードに少し時間がかかります。ダウンロード、解凍後にHolographicAcademy-Holograms-101というフォルダができます。今回は以下を使ってみました。
HolographicAcademy-Holograms-101\Catch up Chapters\7-SpatialMapping-Completed
これをUnityで開きます。completeプロジェクトなのでほぼ何もしなくて大丈夫です。ビルド設定だけ調整します。
Virtual Reality Supportedにチェックを付けます。普段とちがって"Windows Holographic"というリストが表示されます。
Publish SettingsのSpatialPerceptionにチェックを入れます。マニュアルを見ると、Microphoneにもチェックを入れること、とありました。音声認識を使わなければ不要な気がしますが、私の場合、念のためチェックを付けました。
次はビルドです。
このように、
SDK : Universal 10
UWP Build Type : D3D
Unity C# Projects にチェック
とします。これでBuildをクリックすれば、Visual Studio用のプロジェクトが生成されます。
2.2 Visual Studioからエミュレータを起動
Visual Studioを開き、Open->Project/Solution で先ほど作ったC# Projectのslnファイルを指定します。
ビルド設定を
Release
x86
HoloLens Emulator
と変更します。
Build -> Clean Solutionのあとに、Build -> Build Solutionを選択します。Output Windowにエラーが出なければビルドは無事に完了しています。
次に、エミュレータの起動、およびUnityアプリの実行です。Debug->Start without Debugging を選択します。エミュレータの起動時にこういうメッセージが出たらRetryを選択します。
この後、数十秒から数分でエミュレータが起動します。Made With Unityというロゴが出たあと、スペースキーを押すとロゴが消え、Origamiが見えます。
[alt=HoloLensエミュレータのOrigami画面]
3. その他Tips
3.1 操作方法
キーボードかマウスを使います。
W : 対象に近づく
A/左 : 対象の左側に移動
S : 対象から遠ざかる
D/右 : 対象の右側に移動
上 : 上方向に移動
下 : 下方向に移動
Enterキー:カーソルをアイコンに合わせたときに押せば「決定」
また、マウスドラッグで移動させることで上下左右キーを押したことと同じことができます。
ちなみに、この動画の場合、HoloLensをかぶって実際に前後左右、上下に動いた時の見え方をエミュレートしています。この白い線は、実空間をメッシュにしてスキャンした結果をエミュレートしたものです。
3.2 Spatial Mappingのスキャンの雰囲気を体感する
Unityアプリが起動していないとき(Windowsボタンを押す)に、スペースキーを押します。部屋をスキャンするアニメーションが表示されます。
3.1の繰り返しになりますが、この白い線は、実空間をメッシュにしてスキャンした結果をエミュレートしたものです。
エミュレータだと背景が黒いのでわかりづらいですが、HoloLensをかぶって見ると、自分が見える実空間の風景に合わせて、このようなスキャン結果が表示されます。実際に見るととても未来的な感じがします。
これにより、Unity用の空間で実空間の構造を把握できるので、HoloLensを付けたときにこんなシーンを見ることが可能になります。
3.3 エミュレータの中でUnityアプリを起動する
2.2の手順でStart without Debuggingを使っても、Unityアプリが起動せず、スタートメニューが表示されるだけ、というのがありました。
そのときは、エミュレータを×ボタンで終了させてからStart without Debuggingで再起動します。あるいは、以下の手順で直接起動させます。
キーボードのWindowsボタンを押し、このようなメニューが表示されたら、右キーでカーソルを移動させ、+マークが光る位置でEnterキーを押す
アプリの一覧が出るので、上下左右キーでカーソルをOrigamiに移動させ、Origamiが光る位置でEnterキーを押す
3.4 全体的にやや不安定?
感覚的に、UnityもVHoloLens Emulatorも、やや不安定な印象を持ちました。不安定であることの事例として、一度こうなったことがありました。
@WheetTweet BIOSでvirtulizationをdisabledにしたらwin10が無事起動しました。何だったんだ、、
— Riftup@VR勉強会LT 5/26 (@WheetTweet) 2016年5月7日
そろそろ寝ようかな。
再起動してもBIOSしか表示されなかったのでかなり焦りました。因果関係は不明ですが、直前の操作は、Visual Studio Codeでメモしながらエミュレータを起動してたことでした。
また、HoloLens用のUnityでユニティちゃんアセットをインポートしたら、なぜかシェーダーが認識されませんでした。
しかし、Space Robot Kyleはなぜかエミュレータでもちゃんと表示されました。
==========================================================
2016/5/14 追記
ユニティちゃんがピンク色になってしまうのは、Unity5.4のエディタが悪さしていることが原因のようでした。 @nyaa_toraneko さん、、@kaorun55 さん、@yuujii さん、ありがとうございました。
ユニティちゃんアセットをインポートした後、ここからダウンロードしたunitypackageをインポートすることで(=パッチを当てる)、正しく表示されるようになります。
パッチを当てることで、いつもの表示に戻りました。
ちなみに、このパッチが効くのは、"Unity-chan Model"です。 モーション配布用のアセット"HQ Fighting Animation FREE" には効かないのでご注意ください。
@WheetTweet 該当アセットはアニメーションデータを配布するものですので、シェーダーのパッチを当てるのは公式HPのダウンロードコーナーより各モデルのアセットをDLし、Unity5.4β上で利用する場合に適用するようにしてください。
— 小林信行 N.Kobayashi (@nyaa_toraneko) 2016年5月11日
==========================================================
4. 感想
エミュレータの動きだけではわかりづらいですが、実際にHoloLensをかぶった後だと、個々の動きの意味がわかります。エミュレータで色々作り込んでおけば、いざHoloLensが入手できたときに開発がスムーズに進むと思います。個人的にはHoloLensとMeta2はとても楽しみにしており、勉強しながら色々作ってみたいです。
HoloLensはまだまだ簡単に手に入るものではないですが、ちょうどこのブログを書いている時に、以下のような案内をいただきました。
HoloMagicians 結成! - atelier:mitsuba
この勉強会について
HoloMagiciansはHoloLensに関心のあるデベロッパー、デザイナー、クリエイター集団です。各地で勉強会を行い、開発セッションやTouch & Try、アイデアソンやハッカソンを行っていきます。ぜひご参加ください。
引用:HoloMagicians 紹介ページ, http://holomagicians.azurewebsites.net , HoloMagicians
次回の名古屋はさすがに難しいですが、今後なるべく参加していきたいなと思います。
5. 参考にさせていただいたサイト
下記を参考にさせていただきました。ありがとうございました。
■エミュレータの概要と操作方法
ツールのインストール - Mixed Reality | Microsoft Docs
■インストール関係
HoloLensのAR世界を疑似体験できる、エミュレーターの基礎知識とインストール、基本的な使い方 (2/3):HoloLens Emulatorアプリ開発入門(1) - @IT
また、灯台下暗しで後で気づきましたが、こちらも簡潔にわかりやすく書かれております。
■Unityで使うサンプルコード
http://www.naturalsoftware.jp/entry/2016/04/07/093200