プロパティ: | 特徴: |
---|---|
Fixed Timestep | 物理特性計算および_FixedUpdate()_イベントの実行時を示すフレーム レートに依存しない間隔。 |
Maximum Allowed Timestep | フレーム レートが低い場合に,最悪のシナリオを制限するフレーム レートに依存しない間隔。 物理特性計算およびFixedUpdate()イベントは,指定した時間を超えて実行されません。 |
Time Scale | 時間が進む速度。 ブレット タイム効果をシミュレートするには,この値を変更します。 1 は,リアルタイムになります。 0.5 だとその半分の速度で,2 だと速度が 2 倍になります。 |
Fixed time stepping は,安定した物理特性のシミュレーションを行うには非常に重要です。 すべてのコンピュータが平等に作られているわけではなく,Unity のゲームは異なるハードウェア構成で実行されるため,パフォーマンスも異なります。 そのため,物理特性は,ゲームのフレーム レートとは独立して,計算される必要があります。 衝突検出や剛体移動などの物理特性計算は,フレーム レートに依存しない個々の固定手順で実行されます。 これにより,異なるコンピュータ上あるいはフレーム レートに変更が発生した場合に,シミュレーションがより一貫したものになります。 例えば,多くのゲーム画面上の表示により,あるいは,ユーザーがバックグラウンドで別のアプリケーションを起動したために,フレーム レートがドロップする場合があります。
固定時間ステップはこのように計算されます。 各フレームが画面上で描画される前に,Unity は,固定デルタ時間で固定時間を進め,現在の時間に達するまで,物理特性計算を実行します。 これは直接 Fixed Timestep プロパティに関連しています。 Fixed Timestep_の値が小さいほど,物理特性計算が頻繁に行われます。 1 秒あたりの固定フレームの数は,1 を Fixed Timestep_ で割ることで計算されます。 そのため,1 / 0.02 = 50 固定フレーム毎秒,1 / 0.05 = 20 固定フレーム毎秒となります。
簡単に言えば,固定アップデート値が小さくなるほど,物理特性計算の精度は高くなりますが,その分,CPU への負担も大きくなります。
Fixed time stepping により,物理特性のシミュレーションが安定します。 しかし,ゲームが物理特性に大きく依存し,すでにか実行速度が遅いか,フレーム レートが下がることがある場合,パフォーマンスに悪影響を及ぼします。 フレームの処理時間がかかるほど,次のフレームに対して,より多くの固定アップデート ステップを実行する必要があります。 これにより,パフォーマンスが悪化します。 このシナリオを回避するため,Unity iOS は,物理特性計算が指定した閾値より長く実行されないようにするための, Maximum Allowed Timestep を導入しています。
フレームがMaximum Allowed Timestepで指定した時間よりも処理に時間がかかる場合,物理特性は,そのフレームの処理に Maximum Allowed Timestep秒しかかからないようなふりをします。言い換えれば,フレーム レートがある閾値以下になると,剛体が若干減速し,CPU が追いつくことができるようになります。
Maximum Allowed Timestep は,物理特性と FixedUpdate() イベントの両方に影響します。
Maximum Allowed Timestep は, Fixed Timestep で,秒単位で指定されます。 そのため,0.1 を設定すると,フレーム レートが 1 / 0.1 = 10 フレーム毎秒を下回ると,物理特性と FixedUpdate() イベントが減速します。