イマーシブ ヘッドセットのチュートリアルをやってみる - MR 基礎 100

## はじめに

Windows MR、Unity 初心者です。
Microsoft 公式のチュートリアルであるイマーシブ ヘッドセットのチュートリアルを行ってみようと思います。
チュートリアルは以下のチュートリアルです。

[MR 基本 100 - Unity の概要 - Mixed Reality | Microsoft Docs](https://docs.microsoft.com/ja-jp/windows/mixed-reality/holograms-100)

## 環境
- Windows 10 Pro Version 1903
- Unity 2018.4.6f1
- Visual Studio Community 2019
- Mixed Reality ポータル

## Chapter 1 - 新しいプロジェクトを作成する

1. Unity Hub を起動します。
2. [新規作成] を選択します。
3. [テンプレート] から [3D] を選択します。
4. [プロジェクト名] に [MixedRealityIntroduction] を入力します。
5. [保存先] を入力します。
6. [作成] を選択します。

    ![tutorials100-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/460904/122d2259-0e5b-0fad-239c-b30bcb230b2d.png)

## Chapter 2 - カメラのセットアップ

1. [File] > [Save As] から Scene を保存します。
    - ファイル名は [Main] とします。
2. Hierarchy ウィンドウから [Main Camera] を選択します。
3. Inspector ウィンドウの [Transform] > [Position] を (X : 0, Y : 0, Z : 0) に設定します。
    - メインカメラはユーザーの頭の動きを追跡しているため、メインカメラの開始位置を設定することで、ユーザーの開始位置を設定できます。]
    - ユーザーの開始位置を（X：0、Y：0、Z：0）と想像すると、アプリのレイアウトが簡単になります。

    ![tutorials100-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/460904/693046d2-c848-fd10-1a55-c0c0d5aeeb47.png)

4. Inspector ウィンドウの [Camera] > [Clear Flags] を [Skybox] に設定します。
    - Unity のデフォルトで [Skybox] に設定されています。
    - HoloLens の場合は、Background の RGBA の値を (0, 0, 0, 0) に設定します。

    ![tutorials100-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/460904/e1eb167d-9393-7935-7afd-4382873ebaa2.png)

5. Inspector ウィンドウの [Camera] > [Clipping Planes] > [Near] を [0.3] に設定します。
    - Unity のデフォルトで [0.3] に設定されています。
    - ユーザーとオブジェクトが近づいた時に、オブジェクトが表示されないようになります。

    ![tutorials100-4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/460904/32cd95bb-1728-8bd4-b253-da039a9c3dd3.png)

## Chapter 3 - プロジェクト設定のセットアップ

### Unity のパフォーマンスと品質の設定

1. [Edit] > [Project Settngs] > [Quality] を選択します。
2. Windows アイコンの列の一番下にある [▼] を選択し、[Very Low] を選択します。
    - Windows アイコン列の Very Low 行の ☑ が緑色になります。
    - 高フレームレートを維持し、最高のパフォーマンスを出すための設定です。

    ![tutorials100-5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/460904/c5d92adb-9c77-9869-4a23-0db54a36ec65.png)

### ターゲットWindows 10 SDK

1. [Edit] > [Project Settngs] > [Player] を選択します。
2. Windows アイコンを選択します。
3. [XR Settings] を開きます。
4. [Virtual Reality Supported] のチェックを入れます。

    ![tutorials100-6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/460904/b842aa6d-b410-1ff9-921d-f5aa9501be58.png)

## Chapter 4 - キューブを作成する

1. Hierarchy ウィンドウの [Create] から [3D Object] > [Cube] を選択します。

    ![tutorials100-7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/460904/dbd1d4db-c5df-60e9-c5d0-b09fe1989d19.png)

2. Hierarchy ウィンドウで作成した cube を選択します。
3. Inspector ウィンドウの [Transform] > [Position] を (X : 0, Y : 0, Z : 0) に設定します。
    - 実世界ではユーザーポジションから 2m の位置になります。
4. [Transform] > [Rotation] を（X : 45, Y : 45, Z : 45) に、[Scale] を（X : 0.25, Y : 0.25, Z : 0.25) に設定します。

    ![tutorials100-8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/460904/6dfd9606-a8ff-8073-557a-ca18620a6fa6.png)

5. [File] > [Save] から Scene を保存します。

## Chapter 5 - Unityエディターからデバイスで確認する

1. [File] > [Build Settings] を選択します。
2. [Platform] を [Universal Windows Platform] を選択します。
3. [Switch Platform] を選択します。

    ![tutorials100-9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/460904/ee920285-0499-723c-8388-d028f0af35ea.png)

4. [Build Settings] ウィンドウを閉じて、Unity 画面上部にある ▶（Play）を選択します。
    - Mixed Reality ポータルが起動して、Cube が表示されます。 

## Chapter 6 - Visual Studioからデバイスにビルドして展開する

1. [File] > [Build Settings...] を選択
2. 「Add Open Scenes」を選択し、「Build」を選択
3. ダイアログが表示されるため、任意の場所に出力
4. 出力した中にある *.sln を Visual Studio で起動
5. ターゲットを「Release」、「x64」に変更
6. 「ローカル コンピューター」を選択
    - Windows Mixed Reality シミュレーターは ローカル コンピューター を選択すると自動的に起動します。

     ![MRTK20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/460904/7dd2d3f1-31ca-c4b0-ae6e-6db05f4eebe8.png)

7. [デバッグ] > [デバッグなしで開始] を選択

## さいごに

- Windows MR のアプリ開発の基本的なことなので覚えておくとよさそうです。