【Unity】MirageSoloアプリ開発をはじめる2019edition – 6dof対応とコントローラー表示
Overview
最近のGoogle VR SDKを用いてMirageSoloのアプリ開発を行うやりかたとかです.
現在はなにもないところからコントローラーの表示と6dofに対応させる部分まで書いてあります.
Environment
- Windows 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に対応し,コントローラーの表示ができているはず.