Version: 2019.4
言語: 日本語
ビルドした iOS プレイヤーのサイズ最適化
iOS 用のプラグインをビルド

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

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

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

  • Fixed Timestep 設定 (Time ウィンドウ内) を調整して、物理演算の更新に費やす時間を削減できます。Timestep を高くすると、物理演算の精度を犠牲にして CPU のオーバーヘッドを削減します。多くの場合、精度を下げることと引き換えに速度を上げるのは許容できるトレードオフです。
  • Time ウィンドウで Maximum Allowed Timestep を 8–10FPS の範囲の設定し、最悪の場合の物理計算に要する時間を制限します。
  • メッシュコライダーはプリミティブコライダーよりもはるかに高いパフォーマンスオーバーヘッドを持っているため、使用を控えめ目にしてください。プリミティブコライダー付きの子オブジェクトを使用して、メッシュの形状を近似することが可能な場合もよくあります。子コライダーは、親のリジッドボディによって単一の複合コライダーとして一括して制御されます。
  • ホイールコライダーは、厳密にはソリッドオブジェクトの意味でのコライダーではありませんが、それにもかかわらず、高い CPU のオーバーヘッドを持っています。

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

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