【Unity】MirageSoloアプリ開発をはじめる2019edition - 6dof対応とコントローラー表示
Overview
最近のGoogle VR SDKを用いてMirageSoloのアプリ開発を行うやりかたとかです.
現在はなにもないところからコントローラーの表示と6dofに対応させる部分まで書いてあります.
Environment
Windows10 64bit
Unity2018.2.14f1
Google VR SDK - GVR SDK for Unity v1.190.1 (2019-01-16)
Lenovo Mirage Solo - Android 8.0.0
Method
0. 環境構築
UnityでAndroidアプリ開発を行えるレベルの環境構築は行っておく.
1. Google VR SDKのインポート
Google VR SDK - GVR SDK for UnityをGitHubのReleaseからDLしてきてインポートします.
配布はunitypackageで行われてます.
https://github.com/googlevr/gvr-unity-sdk/releases
2. 新規シーンを開く
新規シーンを開き,初めからあるMainCameraとDirectionalLightを削除する.
3. SDKからPrefabのインスタンスを作る
・GvrEventSystem (Assets/GoogleVR/Prefabs/EventSystem/GvrEventSystem.prefab)
・GvrHeadet (Assets/GoogleVR/Prefabs/Headset/GvrHeadset.prefab)
・GvrControllerMain (Assets/GoogleVR/Prefabs/Controller/GvrControllerMain.prefab)
4. Create EmptyGameObject and MainCamera
Playerという名の空のゲームオブジェクトを作成し,中にMainCameraを作成する.
MainCameraにはGvrPointerPhysicsRaycasterコンポーネントを追加する.
GvrPointerGraphicRaycasterではないので注意.
MainCameraコンポーネントのClipping PlanesのNearの値を0.01に設定する.これをしないと近いものが描画されない,つまりコントローラーが見えん.
また適当にPlayerオブジェクトのtransform.position.yを1.6などに設定する.身長分(m).
5. 各GameObject内にPrefabのインスタンスを作る
MainCameraの子に GvrReticlePointer (Assets/GoogleVR/Prefabs/Cardboad/GvrReticlePointer.prefab)
を作成する.これを使うとレティクル(見ている方向の中央点)が表示されるが,必要ない場合は無効化,または追加しなくて良い.
Playerオブジェクトの子には
GvrControllerPointer (Assets/GoogleVR/Prefabs/Controller/GvrControllerPointer.prefab)
のインスタンスを作る.
最終的にこの時点ではこうなる.
この時点で6dofに対応し,コントローラーの表示ができているはず.