Version: 2017.3
ビルドした 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 程度にして、物理演算に消費される時間に上限値を設定してください。
  • メッシュコライダーはプリミティブコライダーよりもはるかに高性能でオーバーヘッドを持っており、控えめにそれらを使用しています。これはプリミティブコライダーと子オブジェクトを使用して、メッシュの形状を近似することがしばしば可能です。子コライダーは、親にリッジボディによる単一の複合コライダーとして一括して制御されます。
  • ホイールコライダーは、厳密にはソリッドオブジェクトの意味でのコライダーではありませんが、それにもかかわらず、高い CPU のオーバーヘッドを持っています。

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

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