【Visual Studio 2017】HoloLens の環境構築

## はじめに

基本的な部分は、[UnityによるHoloLens開発環境＆エミュレータ設定について](http://qiita.com/morio36/items/80556038010f584adb2a)を参考にさせていただいています。

しかし、Visual Studio 2017 で環境構築する際に[詰まったところが](https://qiita.com/atsuo1203/items/6732110f6120ecbc2a76#25hololens-emulator-%E3%82%A8%E3%83%A9%E3%83%BC%E8%A7%A3%E6%B1%BA)あるので、それを踏まえて記事を書きました。

## 環境

* Visual Studio 2017 Community
* HoloLens Emulator (build 10.0.14393.0)
* Unity 5.61

公式の[Install the tools](https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools)を元に、2017年6月8日時点で最新の環境で構築しました。

これから行う環境構築は、[Microsoft Developer](https://developer.microsoft.com/en-us/windows)の[Install the tools](https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools)にそって行なっています。
この記事よりバージョンが新しくなった場合は公式を参照して下さい。

## Hyper-Vの有効化

<img width="852" alt="Hyper-V.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/153964/8642606a-daf5-5d31-e6c4-a2b477397aa3.png">



```
コントロール パネル>プログラム>プログラムと機能
```

と進んで、`winsowsの機能の有効化または無効化` をクリックします。

開かれたウィンドウのHyper-Vを有効化すればOKです。

## 環境構築

<img width="808" alt="Instration checklist fot hololens.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/153964/72068a41-5dae-ce01-43f4-b8813d5f4920.png">

まずは、
https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools#installation_checklist_for_hololens
にアクセスして下さい。

以下の作業は、[このページ](https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools#installation_checklist_for_hololens)から行うので、常に開いておいてください。

### 1.Visual Studio 2017 をインストール

<img width="1122" alt="visual studio 2017.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/153964/e4ebd469-0b07-a287-c241-8bbcf2f82bbb.png">


[Visual Studio 2017](https://developer.microsoft.com/en-us/windows/downloads)のリンクから、Visual Studio Communityのインストーラをダウンロードして下さい。

インストーラの指示にそって進めていくと、
<img width="1005" alt="visual studio 2017 install.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/153964/8936354f-1bc7-cb3f-edad-02923317c2c4.png">

このような画面に進むので、ユニバーサル**Windowsプラットフォーム開発**と**Unityによるゲーム開発**にチェックを入れてインストールします。

<a name="emulator">
### 2.HoloLens Emulator をインストール

[HoloLens Emulator](http://go.microsoft.com/fwlink/?LinkID=823018)を押して、エミュレータのインストーラをダウンロードします。
インストーラに従って、インストールを始めます

**ここで詰まります！**

恐らく、エラーが出てインストールが止まってしまいます。
エラーが出ずにそのままインストール終わったのなら、別にOKです。

エラーが出たら、以下のことを行ってください。


### 2.5.HoloLens Emulator エラー解決


どうやら Visual Studio 2015 を入れてない人が Visual Studio 2017 を入れる際には、下記のことを実行しないとエラーが出てしまうっぽいです。

```
If you are using Visual Studio 2017 and do not have Visual Studio 2015 installed,
you must update the registry to work around a prerequisite check

    1.Add or locate this key: HKLM\SOFTWARE\ Microsoft\Analog
    2.Add a REG_SZ value in that key with name: “OverrideHoloLensSDKPrerequisites”, and value: “TRUE”
    3.If you are on an x64 version of Windows, also add or locate this key: 
      HKLM\SOFTWARE\Wow6432Node\Microsoft\Analog
    4.Add a REG_SZ value in that key with name: “OverrideHoloLensSDKPrerequisites”, and value: “TRUE”
```

さて、具体的にやりかたを説明していきます。


1.regedit起動！

まず、windowsの検索ボックスで、`regedit`と検索してregeditを実行します。

すると、レジストリエディタという画面が開くはずです。
<img width="936" alt="registry.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/153964/0eed815d-c953-9c5a-54a7-95c36231be41.png">

2.Analog

次に、`HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Analog`の中に

```
名前：OverrideHoloLensSDKPrerequisites
データ：TRUE
```

の文字列値を作成します。
もし、`Analog`がなければ作りましょう。 
下の図のようになってれば、OKです。

<img width="451" alt="registry-detail.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/153964/8b43138c-f409-fde4-28c0-fc4ad9196cbd.png">

同様に、
`HKEY_LOCAL_MACHINE > SOFTWARE > WOW6432Node > Microsoft > Analog`
でも同じことをしましょう。

3.再び、HoloLens Emulator インストーラを起動

最後にもう一度、HoloLens Emulatorのインストーラを起動してください。
これで上手くいくはずです。


### 3.Unity をインストール

最後に、[Unity 5.6.1](https://store.unity.com/download)をダウンロードして、インストールしましょう。

これはインストーラに従えば、特に問題なくできると思います。

これにて、HoloLensの環境構築は終了です。

## ビルド

ビルドのやり方については、[UnityによるHoloLens開発環境＆エミュレータ設定について](http://qiita.com/morio36/items/80556038010f584adb2a#%EF%BC%96%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89unity%E6%83%B3%E5%AE%9A%E6%99%82%E9%96%935%E5%88%86)を参考にやってみてください。

Unityのsampleプログラムは、[このサイト](https://developer.microsoft.com/en-us/windows/mixed-reality/holograms_101e)の[こちらのfile](https://github.com/Microsoft/HolographicAcademy/archive/Holograms-101.zip)になります。

注意すべき点としては、最後にVisual Studio 2017でビルドする時下のようになっていることを確認してください。

* エミュレータでビルドするとき


<img width="306" alt="emu.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/153964/604df76d-4266-e721-219b-c29b8be8323f.png">

* HoloLensにビルドするとき


<img width="203" alt="device.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/153964/c300e927-230e-bd16-a083-77f3f1bdd81a.png">



## さいごに

HoloLensは記事も少なく、開発がとても大変です。
今回の環境構築だけでも、ものすごくつらかったです。

ですが、今後もHoloLens開発頑張りたいと思います。