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.

『ポイッとヒーロー』の unity5移行事例

7,083 views

Published on

リアルタイムマルチプレイの タワーディフェンス 『ポイッとヒーロー』の unity5移行事例をご紹介。
GREE GameDevelopers' Meetup 01で発表しました。
http://greegdm01.peatix.com/

Published in: Engineering
  • Be the first to comment

『ポイッとヒーロー』の unity5移行事例

  1. 1. Confidential© POKELABO, INC. 株式会社ポケラボ 加茂雄吾 1 リアルタイムマルチプレイの タワーディフェンス 『ポイッとヒーロー』の unity5移行事例 2015/8/11
  2. 2. Confidential© POKELABO, INC. 自己紹介 22015/8/11
  3. 3. Confidential© POKELABO, INC. テーマ 32015/8/11 unity 4
  4. 4. Confidential© POKELABO, INC. Unity5に移行した理由 42015/8/11 iOSの64bit対応問題 Unity4.6よりUnity5のほうが対応が早かった いずれメジャーバージョンアップするのなら、 このタイミングですべきと判断
  5. 5. Confidential© POKELABO, INC. 移行時にハマったポイント (1) アニメーションが動かなくなった (2) 3Dモデルが白くなった (3) Androidでタッチが効かなくなった (4) Android実機で全体的に重くなった 52015/8/11
  6. 6. Confidential© POKELABO, INC. 62015/8/11 アニメーションが動かなくなった
  7. 7. Confidential© POKELABO, INC. アニメーションが動かなくなった エラー animationがないよ • The name `animation' does not exist in the current context 72015/8/11
  8. 8. Confidential© POKELABO, INC. アニメーションが動かなくなった 82015/8/11 Unity5から animationプロパティがなくなった ↓ GetComponent<Animation>() を使う ✔
  9. 9. Confidential© POKELABO, INC. アニメーションが動かなくなった 92015/8/11 エラーは消えたが、一部の位置を動かす アニメーションの挙動がおかしい
  10. 10. Confidential© POKELABO, INC. アニメーションが動かなくなった 102015/8/11 Unity5の新機能: GenerateRootMotionCurves ↓ 下記設定でアニメーションで移動できる 1. 2.
  11. 11. Confidential© POKELABO, INC. アニメーションが動かなくなった 112015/8/11 GenerateRootMotionしていないのに、 ApplyRootMotionしている場合、 移動せず、その場でアニメーションする Unity4のAnimatorはデフォルトで ApplyRootMotionにチェックが入ってい るので、移行時に動かなくなる
  12. 12. Confidential© POKELABO, INC. アニメーションが動かなくなった 122015/8/11 AnimatorのApplayRootMotionの チェックを外したら直った ✔
  13. 13. Confidential© POKELABO, INC. 132015/8/11 3Dモデルが白くなった
  14. 14. Confidential© POKELABO, INC. 3Dモデルが白くなった 142015/8/11 ライティングがおかしい
  15. 15. Confidential© POKELABO, INC. 3Dモデルが白くなった • Unity5からシェーダーのライトの計算が変更 – 光の強度で2xの乗算を行わなくなった – それに伴い、互換性を保つためライトは自動で2倍の明るさに カスタムシェーダーを使っている場合は、 手動で「光の強度で2xの乗算を行わなく」しないと ライト2倍の影響で、白くなってしまう。 152015/8/11
  16. 16. Confidential© POKELABO, INC. 3Dモデルが白くなった 162015/8/11 カスタムシェーダーの光の強度を 2倍している部分を修正する ✔
  17. 17. Confidential© POKELABO, INC. 172015/8/11 Androidでタッチが効かなくなった
  18. 18. Confidential© POKELABO, INC. Androidでタッチが効かなくなった 182015/8/11 Android端末で全ての タッチが効かなくなった
  19. 19. Confidential© POKELABO, INC. Androidでタッチが効かなくなった 192015/8/11 AndroidManifest.xmlの ForwardNativeEventsToDalvik のvalueをfalseに変更 ✔
  20. 20. Confidential© POKELABO, INC. 202015/8/11 Androidで全体的に重くなった
  21. 21. Confidential© POKELABO, INC. Androidで全体的に重くなった 212015/8/11 Android端末で全体的に FPSが低下 情報が少なく、原因不明のため Unityのプロファイラ(実機)で地道に調査
  22. 22. Confidential© POKELABO, INC. Androidで全体的に重くなった 222015/8/11 CPUのスパイクが多発 → Loading.LoadFileHeaders
  23. 23. Confidential© POKELABO, INC. Androidで全体的に重くなった 232015/8/11 LoadFileHeaderの正体 → Resources.Load Unity5からResources.Load の挙動が変わった?
  24. 24. Confidential© POKELABO, INC. Androidで全体的に重くなった 242015/8/11 Resources.Loadの速度比較(Android実機)
  25. 25. Confidential© POKELABO, INC. Androidで全体的に重くなった 252015/8/11 Resources.Loadの速度比較(Android実機) 130 0.1 134 106 29 2555
  26. 26. Confidential© POKELABO, INC. Androidで全体的に重くなった 262015/8/11 2回目以降のResources.Loadが重い キャッシュが効いてない?
  27. 27. Confidential© POKELABO, INC. Androidで全体的に重くなった 272015/8/11 Resources.Loadをオーバーラップして、 オンメモリのキャッシュに乗せる ✔
  28. 28. Confidential© POKELABO, INC. Androidで全体的に重くなった 282015/8/11 修正後の反響
  29. 29. Confidential© POKELABO, INC. 余談 Unityのパフォーマンス 292015/8/11 Unityのパフォーマンスについての 常識は日々更新される 中身がブラックボックスだからこそ 最新版でベンチマークをとることが大事
  30. 30. Confidential© POKELABO, INC. 移行時にハマったポイント アニメーションが動かなくなった 3Dモデルが白くなった Androidでタッチが効かなくなった Android実機で全体的に重くなった 302015/8/11 ✔ ✔ ✔ ✔
  31. 31. Confidential© POKELABO, INC. 312015/8/11 おまけ
  32. 32. Confidential© POKELABO, INC. Unity5.1へ 322015/8/11 現在ポイッとヒーローでは Unityを再度バージョンアップ中 Unity5.0.2p3 → Unity 5.1.2p1
  33. 33. Confidential© POKELABO, INC. Unity5.1にするメリット 332015/8/11 iOSの実行ファイルサイズが減少 Unity5.0.2p3 : 98.6MB Unity5.1.2p1 : 69.2MB 約30MBのサイズ減少 → メモリに優しい
  34. 34. Confidential© POKELABO, INC. Unity5.1でハマった点 342015/8/11 モデルのライティングが壊れたり 一部テクスチャが貼られない現象
  35. 35. Confidential© POKELABO, INC. Unity5.1でハマった点 352015/8/11 Automatic Graphics APIのチェックを 外して、OpenGLES2を最優先に ✔
  36. 36. Confidential© POKELABO, INC. Unity5.1でハマった点 362015/8/11 Unityはバージョンアップの度に、 PlayerSettingsの内容が ひっそりと変わることがあるので 要チェック
  37. 37. Confidential© POKELABO, INC. まとめ 372015/8/11 運用中のプロダクトでも Unity5に移行することは難しくない 今すぐ決断し、 快適なUnity5生活を ✔
  38. 38. Confidential© POKELABO, INC. 382015/8/11 ありがとうございました

×