Check! HoloLens の開発環境を整える ～ Visual Studio + HoloLens (実機) 編

メリークリスマス！🎄 @dz_ こと大平かづみです。

[Geek Women Japan Advent Calendar 2017](https://qiita.com/advent-calendar/2017/geekwomenjapan) の25日目、トリを担当する記事です！((((；ﾟДﾟ))))ｶﾞｸﾌﾞﾙ

Prologue - はじめに
====
今年もあと数日ですが、今年の一番の大きな買い物は  **HoloLens** でした！

奮発を機に C# + Unity デビューを狙ったのですが、ひとしきり楽しんだ後でしばらく放置してしまいました。

そんなやり残しは今年のうちに達成しちゃいましょう！

ってことで、今年最後は HoloLensくんの開発環境を整えて、来年の心機一転に備えます。

- [ホログラフィック テクノロジー用複合現実アプリの開発 | HoloLens](https://www.microsoft.com/ja-jp/hololens/developers)

事前準備
====
用語対訳
----

聴きなれない用語があったので、まとめてみました。

| 英語 | 説明 |
| --- | --- |
| Gaze | 視線。HoloLens でいうと、視線の先のポインタを合わせることを指すみたいです。  |
| Spatial coordinates | 空間座標。HoloLens でいうと、現実空間を座標として読み込み、利用することを指すようです。詳細は、[Coordinate systems](https://developer.microsoft.com/en-us/windows/mixed-reality/coordinate_systems)  をご参照ください。 |
| Immersive headsets | 没入型ヘッドセット。HoloLens 以外にも Windows Mixed Reality を扱えるヘッドセットがあり、HoloLens と比べて安価であることと、モーションコントローラが付属してる点がポイントのようです。詳細は [Immersive headset hardware details](https://developer.microsoft.com/en-us/windows/mixed-reality/immersive_headset_hardware_details) をご参照ください。|

参考にしたドキュメント
----

| ドキュメント | 説明 |
| --- | --- |
| [Development overview](https://developer.microsoft.com/en-us/windows/mixed-reality/development_overview) | HoloLens および没入型ヘッドセット開発の概要 |
| [Install the tools](https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools) | HoloLens および没入型ヘッドセット開発のためのインストール情報 |
|  [Using Visual Studio](https://developer.microsoft.com/en-us/windows/mixed-reality/using_visual_studio) | Visual Studio を用いた Windows Mixed Reality 開発環境のセットアップについて |

その他調べたこと
----
### Vuforia

Qualcomm 社が提供する無料のARライブラリ。マーカーを利用する際などに重宝するようですが、簡単なサンプル動かす程度では必要ないときいたので、もう少しできるようになってから挑戦します。

開発環境の準備 ～ Visual Studio + HoloLens (実機) 
====

インストール
----
Visual Studio インストールの際に、下記のオプションを指定すると Unity も併せてインストールされるようです。

### Visual Studio 2017 (Unity Editor 込み) のインストール

- [Visual Studio 2017 Community Edition](http://dev.windows.com/downloads)
    - `Universal Windows Platform development` を選択する
    -  `Game Development with Unity` を選択する
        - オプションで `Unity 2017.2 64-bit Editor` をインストールするよう選べる。（すでに Unity の当該バージョンをインストールしている場合はチェックを外す）

Visual Studio 2017 のインストールが終わると、再起動を促されるので再起動し、Visual Studio 2017 を起動しましょう。適宜 Sign in し、テーマを選べば起動です。（VSのインストールは劇的に速くなりましたね～）

HoloLens の準備
----

HoloLens が Visual Studio から見えるように、開発者モードにします。ついでに、IPアドレスも控えておきます。

1. `Settings` を開きます。
1. `Update & Security` > `For developers` を開きます。
    1. `Developer Mode` を `On` にします。
1. `Network & Internet` を開きます。
    1. `Advanced options` を開きます。
    1. `IPv4 address` の IPアドレスを控えておきます。

Visual Studio の準備
----
Visual Stuido で HoloLens に WiFi 経由でデプロイできるように設定します。USB経由でもデプロイできます、下記ドキュメントをご参照ください。

- [Using Visual Studio](https://developer.microsoft.com/en-us/windows/mixed-reality/using_visual_studio)

まず、新規の Universal Windows App を作成します。ここではまだ Unity とは連携しません。

1. Visual Studio で、 `File` > `New` > `Project...` を選択します。
1. `Visual C#` > `Windows Universal` > `Holographic` > `Holographic DirectX 11 App (Universal Windows)` を選択します。
1. `Build Configuration` の Platform を `x86` に指定します。
1. デプロイターゲットのドロップダウンから、 `Remote Machine` を選択します。
    1. Remote Connections ウィンドウの `Address` 欄に、前述で確認した HoloLens の IPアドレスを入力し、`Select` をクリックします。（Authentication Mode は Universal (Unencrypted Protocol) が選択されたまま。）

![20171225_hololens_001.png](https://qiita-image-store.s3.amazonaws.com/0/3812/9bbefacd-8cf9-a70d-b428-a3817e934499.png)


### Visual Studio から HoloLens へ接続する

1. Visual Studio で、 `Debug` > `Start Debugging` を選択します。
1. 初回は PIN 入力を促されます。
    1. HoloLens で、`Settings` > `Update & Security` > `For developers` を開く
        1. `Paired devices` の `Pair` をクリックします。
        1. PIN番号が表示されるので、Visual Studio のポップアップに入力し、OKをクリックします。

![20171225_hololens_002.png](https://qiita-image-store.s3.amazonaws.com/0/3812/8c848d85-8ff0-af34-a707-ba05b1f3a45c.png)


しばらく待つと、HolographicApp1 がデプロイされ、虹色の立方体キューブが浮かび上がります！！！

![20171225_hololens_003.png](https://qiita-image-store.s3.amazonaws.com/0/3812/8e8d6401-5542-38e3-09b7-b0aeb1db0b71.png)

いきなりの初デプロイ！

🙌🙌

Epilogue - おわりに
====

HoloLens が重くてずり下がってくるんですが、 @tseigo さんに教えてもらって付属のバンドを使ったらかなり安定しました！！ありがとうございます！

HoloLens 装着しながら Qiita も書けるぞい！

さて、今回は、実機に接続したところでタイプアップとなってしまいましたが、引き続き進めていけるよう頑張ります！