HoloLens：開発環境の準備から3Dオブジェクトを表示するまで

#はじめに
HoloLensで任意の3Dオブジェクトを表示します。
コーディングは一切発生しません。

#開発環境の準備
- Windows 10
- Visual Studio 2017
- Unity 2017.4.17f1
- Mixed Reality Toolkit(Unity 2017.4.30)

自分はMacを使っているため、仮想マシン上（VMWare Fusion）に開発環境を作りました。

##Mixed Reality Toolkitをダウンロード
https://github.com/Microsoft/MixedRealityToolkit-Unity
以下をダウンロードします。

- HoloToolkit-Unity-2017.4.3.0.unitypackage
- HoloToolkit-Unity-Examples-2017.4.3.0.unitypackage

#Unityでアプリを作る
##Unityでプロジェクトを作成
1. Unityを起動します。
![zu1.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/750497b9-7b81-1eec-db2f-a5698d46e8ac.jpeg)

2. 新規プロジェクトを生成します。
![スクリーンショット 2019-01-25 0.42.44.png](https://qiita-image-store.s3.amazonaws.com/0/60152/7c508a23-f50a-f7fa-3dbb-ecf986b547af.png)

- Project Name
    - 任意の名前
- Location
    - 任意のパス
- Template
    - 3D

　Ctrl + sでUnityファイルを作成＆保存します。

##Mixed Reality Toolkitをインポート
1. 「Main Camera」と「Direction Light」を削除します。
![zu3.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/a0be71de-657a-87e2-fa5a-0a870b11e0bf.jpeg)
　※ Direction Lightは消さなくて良いかも。

2. Mixed Reality ToolKitをインポートします。
![zu4.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/411b5731-c7b6-7448-e66a-c77b7e25fa26.jpeg)

- HoloToolkit-Unity-2017.4.3.0.unitypackage
![zu5.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/49ccef10-395a-0769-b33f-7cd7d9d9a42b.jpeg)

- HoloToolkit-Unity-Examples-2017.4.3.0.unitypackage
![zu6.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/fd229984-d47c-3455-92d6-8ccfa7ce0f9d.jpeg)
そのまま、「import」をクリックします。

##Mixed Reality Toolkitの設定を行う
1. Mixed Reality Projectの設定を行います。
![zu7.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/36750532-76b6-87d8-a3f1-4c1fec2ce7ac.jpeg)
![zu8.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/6339c7e9-c791-e153-a70f-db5ea26c647f.jpeg)
そのまま「Apply」をクリックします。

2. Mixed Reality Sceneの設定を行います。
![zu9.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/451c56a7-4bb1-b78a-3053-88fce90c3a66.jpeg)
![zu10.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/865fe4d9-fa54-00a4-0242-fc4e4ca07e2a.jpeg)
そのまま「Apply」をクリックします。

3. UWP Capabilityの設定を行います。
![zu11.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/6afcc0ac-c7b4-f54b-e431-059d751401ec.jpeg)
![zu12.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/ad1d0129-e27c-30fa-32e3-6faecd9dba9d.jpeg)
「Spatial Perception」にチェックを入れて、「Apply」をクリックします。
　※空間認識を利用するために必要

##3Dオブジェクトを配置する
1. 3Dオブジェクトを作成して、位置とサイズを調整します。
![zu13.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/ea23bbec-c95e-3a09-19d4-344d3cfa34a3.jpeg)
![zu14.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/56e3a244-e313-4bf0-6311-53ded604f58b.jpeg)
![zu15.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/30db6d3d-d6ea-a97d-be70-2e8faab38f35.jpeg)

　Z=1.5で正面の1.5m先にCubeが表示されます。
　Scaleは適度なサイズに調整してください。

##ビルドする
1. メニューより、「Builid Settings...」を選択します。
![zu16.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/efef4a9b-84a2-3b74-c6e7-ce568293b103.jpeg)

2. 「Add Open Scenes」をクリックしてSceneを追加して、「Unity C# Projects」にチェックをいれます。
![zu17.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/8ddbe304-b5a7-3f1e-c710-8a966dfc707c.jpeg)

3. 「Build」をクリックして、VSSのプロジェクトを出力するフォルダを選択します。
4. ビルドが完了すると、VSSのプロジェクトが出力されます。

##HoloLensにアプリをデプロイする
1. 出力したVSSのソリューションファイルをVisual Studioで開きます。
![zu18.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/356291b2-e47d-ed98-020f-2b1de376358c.jpeg)
 上記の場合、「HoloTest.sln」を開きます。

2. 　「Release」「x86」「リモートコンピュータ」を選択します。
![zu19.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/c3a541d6-8f53-ac7b-24e8-ea854459c116.jpeg)
　リモート接続のダイアログが表示されます。

3. HoloLensのIPアドレスを入力して、選択をクリックします。
![zu20.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/6e82849e-2b52-15ba-dfb9-91192ebc74f7.jpeg)

4. 実行ボタンをクリックして、HoloLensへデプロイします。
![zu21.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/1b176b47-2547-0c44-23be-5093128ce752.jpeg)
　最初の接続の場合は、PINの入力が発生します。

5. HoloLensでアプリが実行され、3Dオブジェクトが表示されます。
![zu22.jpg](https://qiita-image-store.s3.amazonaws.com/0/60152/5093ccaa-e123-807d-2fcc-4a42152b2b35.jpeg)