UnityでAndroidのビルドエラーが多発したので解決法です。
追加でGearVR/Cardboard(GoogleVR)用にビルドする際の注意事項を入れておきます。
他のサイト、qiita内でも説明されていますが、自分用の備忘録
1. Unity,jdk,android sdkのバージョンの確認
jdk,android sdkのバージョンによってunityのbuildエラーが起きることがある
よくあるエラー
Unable to list target platforms. Please make sure the android sdk path is correct.
[UnityのAndroidビルドができなくなった時の対処 - Qiita]
(https://qiita.com/niusounds/items/bcbeee622b2114b4016e)
[Unityを使ったAndroid向け課金ゲームアプリの開発環境を準備する - Qiita]
(https://qiita.com/cayto_pr/items/27945404518560337e3d#_reference-f2fa14faf8ee3235f5ee)
現在自分で安定して使えているバージョン(mac)
- Unity:2017.3
- jdk :jdk1.8 (Java SE Development Kit 8)
- sdk :tools_r25.2.5-macosx.zip
win用:tools_r25.2.5-windows.zip
基本的な手順
- Unity(Android Buildも忘れずに),Android Studio,jdkのインストール
- android sdk : tools_r25.2.5-macosx.zipをandroid studioのtoolに差し替える。
- android studioのConfigure/SDK Managerで必要なAndroidのAPIをインストール
- unityのPreferences/External toolsでjdk,sdkの場所を指定
googleVR
Cardboardはデフォルトで存在しません。GoogleVRのアセットを入れます
GearVR
以下のサイトがすごく良くまとまっているので参考
特に「Gear VRアプリをビルドするには」の欄をよく読みましょう
oculus署名が必要です。
2. Edit/Project Settings/Playerの設定
PlayerSettingsでandroidのバージョンなどの設定をめんどくさがってbuildエラーが起きたので注意
2.1 com.company_name.product_name
Bundle Identifyの設定
PlayerSettings/Other Settings/IdentificationのPackage Nameを変更する必要がある
[[Unity]Android向けにビルドする]
(https://qiita.com/neku/items/c35b1de07eac18151f4e)
2.2 androidのバージョン
Minimam API LevelやTarget API levelが指定する。
特にgoogleVRは5.6以上推奨です。その際SDKでAPIがインストールされているか確認しましょう。
2.3 XR settings
Virtual Reality Supportedをオン
GoogleVRのアセットが入っていれば、Cardboadの設定があるはずです。
GearVRはOculusに設定
ここまででGearVR/Cardboardのビルドはできるはずです。ビルドして確かめてみましょう
Texture Compressionですが、GearVRの場合ASTCが推奨されているサイトが多いです。
ただ、GoogleVR(私の場合はHTV32)だとASTCだとアプリが強制停止してしまったのでETC2を使用しています。
また、Quality Settingは触れていませんが、アンチエイリアスや影、光など調整が必要な部分はあると思います。
3. その他のエラーについて
私が引っかかってしまったエラー集です。
Texture Compression
先ほども触れましたが、Texture Compressionはどれがいいのか悩み中です(そもそもどれがどんな性質かもよくわかってない)。
5/11 clustering jobs
VRに限った話ではなく、NavMeshを入れるとかかるエラーです。URL参照。
Unet関係
NetworkIdentityが結構厄介です。NetConnectorを継承してNetworkManagerを作り、それとは別にUnetを管理するものがあると良いです。というかなんとなくできたけど、何がダメで何がOKなのかもよくわかっていません。Unet使っている方がいれば教えて欲しいです。なおPhotonもよくわからん。
Cameraはできるだけ少なく
当たり前だけどVRな分Cameraの処理がえげつない。Camera増やしてたらいつの間にかFPSがとんでもないことになっていたのでなるべく減らしましょう。FPSの低さがそのまま酔いに繋がってしまわないように。
終わりに
長くなりましたが、細かいエラーで失敗してしまわない用の備忘録です。
VRアプリは重くなりやすく、Qualityなど色々と注意を向ける部分が多いので細かい調整が不可欠です。読まれた方で、Qualityやtextureなど細かい設定、「自分はこういう設定にしている」等ありましたら、教えていただけると嬉しいです。