ビルドした iOS プレイヤーのサイズ最適化
iOS 用のプラグインをビルド

物理演算のパフォーマンス最適化

Unity で使用されている物理エンジン・NVIDIA PhysX は iOS にも対応していますが、モバイルプラットフォームではデスクトップよりも簡単にハードウェアの性能限界に達してしまうでしょう。

以下は、iOS でのパフォーマンス向上を目的とした物理演算の調整に関するちょっとした Tips です。

  • 物理演算結果の更新に消費される時間を減らすために Fixed Timestep setting ([Time manager]内(class-TimeManager))を調整することができます。timestep を増やすことで、物理演算の精度を上げるために費やされている CPU のオーバーヘッドを減らす事ができるでしょう。精度を下げる事は、速度向上のために容認できるトレードオフになる事が多いです。
  • 最悪の場合、Maximum Allowed Timestep in the Time Managerを、8–10fps 程度にして、物理演算に消費される時間に上限値を設定してください。
  • メッシュコライダーはプリミティブコライダーよりもパフォーマンスオーバーヘッドがかなり高く、そのため節約して使った方がよいです。メッシュ形状は、プリミティブコライダーを設定した子オブジェクトを用いて、近似できる事が多いです。子コライダー群は、1つの複合コライダーであるかのように、親のリジッドボディから、まとめてコントロールされます。
  • ホイールコライダーは、厳密にはソリッドオブジェクトの意味でのコライダーではありませんが、それにもかかわらず、高い CPU のオーバーヘッドを持っています。

物理演算の最終的な処理負荷は、シーン内の非休止状態にあるリジッドボディ及びコライダーの数と、コライダーの複雑さに依存します。ビルトインプロファイラーでのパフォーマンス測定を使うと、シーン内に物理演算オブジェクトがどのくらいあるのか調査することができます。

ビルドした iOS プレイヤーのサイズ最適化
iOS 用のプラグインをビルド