Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Gear vrの最適化方法を調べてみた

4,449 views

Published on

オキュラスリフト勉強会 #02のLT資料です

Published in: Mobile
  • Be the first to comment

Gear vrの最適化方法を調べてみた

  1. 1. 青木そらす(@sorasu2113)
  2. 2. 自己紹介  青木そらす(@sorasu2113)と申します  VR / ARのアプリケーションを趣味で作ってます  VR空間で究極の幸せを獲得したいと目論む人です
  3. 3. 何がしたいか
  4. 4. 何がしたいか 60FPSを維持した状態で
  5. 5. 何がしたいか 60FPSを維持した状態で 制服Unityちゃんに
  6. 6. 何がしたいか 60FPSを維持した状態で 制服Unityちゃんに 保健室で膝枕してもらいたい
  7. 7. 検証環境  Unity 5.0.2 f1  Oculus Mobile SDK 0.5.1  Galaxy S6 edge / ファーム最新(2015年5月30日現在)
  8. 8. 前提条件①  出すもの … 制服Unityちゃん、男性キャラ、保健室  保健室はStaticにチェックを入れる  固定視点で移動は無し  ShadowはBake以外使わない
  9. 9. 前提条件②  Light Mapを作成する Lightingは極力Bake設定  Light Probeを設置、Reflection ProbeはBoxとBake指定  Static Batching、Dynamic Batching、GPU Skinning Multi Thread Renderingは有効。
  10. 10. 前提条件③  Unity Gear VR Gameのパフォーマンスを搾り出せ(抜粋)  フレーム当たりのドローコール数 : 50~100  フレーム当たりのポリゴン : 5万~10万  テクスチャはできるだけ少なめに(ただし大きくても可)
  11. 11. 数字の出し方  SetPassCall – UnityEditor上で確認  FPS – 実機で計測した値
  12. 12. SetPassって何者?  【Unity】Unity Performance Casual Talk 「ドローコール伝説の終わり」 レポート  http://qiita.com/baba_s/items/5260807ced7fc3c02ca6
  13. 13. SetPassって何者?  ざっくり言うと  Unity→OpenGLドライバに命令を投げる回数  オブジェクトを大量に出しても、共通マテリアルなら  1Mesh * 1Material * 1PassのShader = SetPassCall 1  Materialの個数やShaderのPassが多いと増える  Shaderのプロパティを動的に変更すると、別物になるので  インスタンス毎にSetPassが呼ばれる → 良くない
  14. 14. 普通に出してみる  SetPassCall – 90  FPS – 50
  15. 15. そこそこのFPSが出てしまった…
  16. 16. もっと快適にできる  マテリアルとメッシュが複数あるため、個々に描画している  シェーダーの中でPassを複数呼んでいる  ここを減らす
  17. 17. 施策  モデルデータをMeshBakerで結合する($50)  シェーダーを可能な限りMobileに変える
  18. 18. 出してみる  SetPassCall – 16 ~30  FPS – 60
  19. 19. 出してみる  SetPassCall – 16 ~ 30  FPS – 60
  20. 20. どれだけ減ったのか  背景 Set Pass Call - 72→ 2  男性キャラ Set Pass Call – 8 → 4  Unityちゃん Set Pass Call – 30 → 22
  21. 21. それでもSetPassCallが減らせなかった場合  固定視点に限り背景をSkyBox化することで  SetPassCallを6まで抑えられます。  ※両眼で12 Set PasCallです  ※今回、背景が2Passで描画出来てしまったので紹介だけです
  22. 22. まとめ  オブジェクトは極力、MeshBakerを使って1つにまとめる。  Materialが細かく分かれてしまった場合は SkyBoxでごまかす。
  23. 23.  このコンテンツは、『ユニティちゃんライセンス』で提供されています。

×