たくあんポリポリ

勉強したことを載せていきます。最近、技術系の記事はZennに書いています。(https://zenn.dev/chittai)

Oculusのテクニカルレビューで指摘された内容と対応方法

前に作成したゲームを改良して、OculusStoreへのリリースまで実施してみた。(実際はコンテンツレビューでKeyのみのリリースとなってしまいましたが)

その時にテクニカルレビューでリジェクトされた際に指摘されたメッセージとその対応策について記載します。

使用した環境

  • Unity 2018.13f1 → Unity 2017.3.1f1

課題の説明

今回、受けた指摘と対応した内容を記載しました。

OverView Result 対応した内容
Headlocked menus and UI elements are generally uncomfortable for the user and should be avoided. A headlocked box with "Time" and "Targets" are displayed during gameplay. 常に表示しているUIをHMDの動きにピッタリ合わせて動いてはいないと思い、HMDが動いたあとになめらかにUIが追従するような実装に変更した。Quarternion.Lerpで回転をゆっくりにすることで対応。ただ、それでもだめだったので、HMDとUIは同期させてはだめだとわかり、UIは銃に追随するように変更した
The app runs and installs without crashing, freezing, or entering extended unresponsive states. Steps to reproduce: 1) The user boots the app. 2) Progresses to the main menu. 3) Exits the app via "Back" or "Oculus" button. 4) Boots the app for a second time. 5) An indefinite "Black Screen" appears. At this point, the user has to fully shutdown or restart their Oculus headset. どうしてもゲームを再度起動しようとするとクラッシュしてしまう。色々調べたがUnityのバグっぽかったので、Unityのバージョンを2017に落としたら改善された。
The app must request the minimum number of permissions required to function. Your app is asking for excessive user permissions or using user permissions inappropriately. -Access Microphone Please remove all unnecessary permissions. If your app requires any of the permissions listed above please explain in detail why your app needs the permission in order to function. 下記URLの通りに対応したら問題なく対応できた。スクリプトにあるクラスをみて自動で不要な権限が入ってしまうので、Micが使用されているスクリプトを削除するとOK。http://littlewing.hatenablog.com/entry/2018/09/04/170626

その他課題

ビルドの際に、Texture Compression を推奨通りにASTCにするとCrashしてしまう。そのため、ETC2にしてビルドした。
性能がでなかったため、Profilerで何に使用されているかを確認した。今回購入していたHighLightingSystemにかなりリソースを食っていたため使用しない方針にした。

f:id:c_taquna:20180924223932j:plain

感想

想定外の挙動をしたときにlogcatだけではわからず、バージョンを下げたりしたので色々と試しながらの対応が必要だった。そのへんの解決に異常に時間を取られてしまったので、今後は原因究明と切り分けは別で対応していきたい。
あと、リリースをすることはとても勉強になった。次はちゃんとStoreに並べたいと思う。