Unity 5 Personal Edition でGearVR用自作アプリを作る環境設定
思っていた以上に難儀でしたが、なんとか自作のUnityアプリをGearVRに対応させることができました。備忘録としてここにメモしておきます。
※(2015/7/8 追記)Unity5.1.1p3でUnityビルトインVR対応機能であるVirtual Reality SupportedでVR仕様に変換できることを確認しました。
※(2015/10/11 追記)Unity5.2.1p2では再び実機で動作させた際に強制終了してしまいましたが、Unity5.2.2p3では正常に動作しました。
以下はUnity 5.1.1p時点での記事になります。
使用したのはUnity 5.1.1p + ovr_mobile_sdk_0.6.0.1 です。
公式のVRサポートであるVirtual Reality Supported機能は、無償版である Unity Personal Editionのバージョン5.1.1p時点では使用できないようです。
以下のサイトを参考にさせていただきました。
Gear VRとGalaxy S6を買ったので原点に戻ってミクさんに踊っていただいた - ReDo
以下のように開発環境導入を行いました。
Androidアプリ開発環境
- JDK(8u45)の導入
- Android SDKの導入
- Unity プロジェクトのBuild Settings を開き、Texture CompressionをETC 2(GLES3.0)に変更
- Player SettingsのIdentification - Bundle identifierの名称を変更
Gear VR 用アプリ開発環境
- SAMSUNG公式HPからGalaxy S6用USBデバイスドライバを導入,adbコマンドによる通信確認
- 端末側でデバッグモードを承認
- Oculus公式HPから、デバイスナンバーを入力しシグネチャファイル(oculussig_{device id})をDL
- Unityプロジェクトフォルダの、Project/Assets/Plugins/Android/assets/にシグネチャファイルを配置
Oculus用Unityプラグイン
- Oculus公式HPからovr_mobile_sdk_0.6.0.1をDL
- VrSamples\Unity\UnityIntegration\UnityIntegrationにあるUnityIntegration.unityPackageをインポート
- プロジェクトのMain CameraをOVR\Prefabs\OVRPlayerController.prefabに置き換える
このうち、Oculus用のUnityプラグインについては使用したくありませんでした。
その理由は、チェックをいれるだけでカメラを両眼仕様にしてくれるOculus用機能のVirtual Reality Supportedの存在です。
Unity 5.1以降、Gear VRにもこの機能が対応したと聞き、設定が面倒なことをするよりもせっかく対応機能があるのだからコレを使ったほうが良いに決まってる!と考えたのです。
しかし何度ビルドすれどもGearVRでは起動せず、「予期せず終了しました」と出るだけ。
フォーラムを覗いてみると、どうやら同じ症状の人がチラホラ。
(参考: http://forum.unity3d.com/threads/unity-5-1-0p1-crashing-on-gearvr.334282/ )
この機能はProfessional版でのみ有効ということでしょうか?
ということで、諦めてovr_mobile_sdkを導入したところでやっとこさGearVRで正常に動くアプリがビルドできました。
ちなみにUnity 5.1.1fなどでは、ovr_mobile_sdkを使っても片目しか画面が表示されないバグがあるようです。
いろいろと手間がかかりましたが、とりあえずこれで開発を始めることができそうです。