MRTKのサンプルアプリの動かし方

MRTKはVR向けのアプリを開発する際のUIコンポーネントやオブジェクトをMicrosoft公式が提供しています。
MRTKを用いて幅広いVRアプリが開発できるようになります。

今回はMRTKのサンプルアプリを動かすまでの手順を紹介します。

Unity Version 2019 4.0にて動作確認しています。

#事前に必要なもの
・Unityアプリ
Unityを用いたVRアプリの開発になるのでUnityアプリはインストールしている必要があります。

・Oculus Quest
今回はVR端末のOculus Questを利用したサンプルアプリの導入について解説します。

・Oculus QuestとPCを接続するUSBケーブル(Type-C)
アプリをビルドする際に送信するためにケーブルを利用します。


#Oculus Questのプロジェクト設定
###開発者モードを有効にする
Oculusにアプリをビルドする前に開発者モードを有効にしておく必要があります。

事前にスマートフォンにOculusのアプリをダウンロードしておいてください。
1.スマートフォンでOculusアプリを開き、Settingsに移動
2.More SettingsからDevelopper Modeに移動
3.Developper Modeのトグルをオンにします。
4.PCとOculusをUSBケーブルで接続します。
5.ヘッドセットを装着すると[Allow USB Debugging]のポップアップ画面が表示されるので承認します。

![DevelopperMode.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/f63b6cfd-8738-1534-c7c3-39c0f8901a6d.png)


###Oculus ADBドライバーのインストール
WindowsPCからOculusにアプリをプッシュする際に必要です。
zipファイルをダウンロードし、解凍します。
https://developer.android.com/studio/run/win-usb?hl=ja

.infファイルを右クリックして、インストールをクリックします。


#Unityのプロジェクト設定
OculusのアプリをビルドするのにAndroidのBuild Supportをインストールしておくことが必須になります。

![AndroidBuildSuppor1t.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/15470ce8-07a9-d3dd-ecdc-87af61b4b41c.png)



#UnityにOculus開発環境を設定
Unity EditorのPackage ManagerからOculus XR Pluginをインストールします。
![OculusXRPlugin.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/d2249eac-2dbf-73a7-95aa-944f8353975e.png)

Project SettingsのXR Plug-in ManagementのOculusの部分にチェックがついていることを確認します。

![XRPluginManagement.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/1d5eca90-1645-7cfe-ff66-e83b8539aab1.png)

UnityのアセットストアからOculus Integrationのパッケージをインポートします。

![OculusIntegration.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/c4306dfa-2120-48d3-edc3-098d8608daba.png)

UnityのメニューからMixed Reality  > Toolkit > Utilities > Oculus > Integrate Oculus Integration Unity Modulesをクリック



ProjectウィンドウからOculusのフォルダを選択します。
フォルダの中にあるOculusProjectConfigを選択してHand Tracking Supportの項目を "Controllers And Hands"に設定します。

![OculusProjectConfig.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/6784c3c9-333b-2761-31d4-d4a15c003cb9.png)




#MRTKサンプルのダウンロード
GithubからMRTKをzipファイルでダウンロードし、解凍します。
https://github.com/Microsoft/MixedRealityToolkit-Unity



![githubMRTK1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/ba514ecf-0f73-efed-04b1-4d5eba22fcfb.png)

右上のCodeからDownload ZIPを選択します。


解凍したフォルダをUnity Hubから開いてください。

#MRTKの設定
ダウンロードしたMRTKアプリを開くと最初に以下のようなポップアップ画面が表示されるのでCopy & Customizeを選択します。

![MRTKSettings1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/4e571003-2d8f-a711-4cc1-5179aeb8c0d8.png)

以下のような画面が表示されるので、左側の項目からInputを選択

![MRTKSettings2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/c8fe7605-6b01-012d-c310-031cfc8d0697.png)

Input System Typeの右側のCloneをクリック

![MRTKSettings4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/8910a2b5-ac16-5f77-0a78-3439a3ddb889.png)


Input Data Providerの項目を開いてAdd Data Providerを選択


![MRTKSettings3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/a16c0956-a066-a062-93ae-bbae4098f9f8.png)

XR SDK Oculus Device Managerが追加されます。

XR SDK Oculus Device ManagerのTypeを選択して、Microsoft.MixedReality.Toolkit.XRSDK.Oculus.InputからOculusXRSDKDeviceManagerを選択します。



#プロジェクトのビルド
UnityメニューからFile > Build Settingsを選択

サンプルシーンをScenes In Buildへドラッグしてシーンを追加してください。

PlatformをAndroidにします。

Buildを選択します。

![MRTKBuildSettings.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2143773/4a290a10-89ab-fbc7-76a9-0c67edaa5594.png)


以上でMRTKのサンプルアプリのビルドは完了しました。

Oculus Questからサンプルアプリを開いてUIコンポーネントやオブジェクトをOculus ハンドで持ったり、触ったりして確認することが出来ます。