タグとレイヤー
ネットワーク グループ

タイム マネージャ

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

タイム マネージャ
タイム マネージャ

プロパティ

プロパティ: 特徴:
Fixed Timestep 物理特性計算および_FixedUpdate()_イベントの実行時を示すフレーム レートに依存しない間隔。
Maximum Allowed Timestep フレーム レートが低い場合に,最悪のシナリオを制限するフレーム レートに依存しない間隔。 物理特性計算およびFixedUpdate()イベントは,指定した時間を超えて実行されません。
Time Scale 時間が進む速度。 ブレット タイム効果をシミュレートするには,この値を変更します。 1 は,リアルタイムになります。 0.5 だとその半分の速度で,2 だと速度が 2 倍になります。

詳細

Fixed Timestep

Fixed time stepping は,安定した物理特性のシミュレーションを行うには非常に重要です。 すべてのコンピュータが平等に作られているわけではなく,Unity のゲームは異なるハードウェア構成で実行されるため,パフォーマンスも異なります。 そのため,物理特性は,ゲームのフレーム レートとは独立して,計算される必要があります。 衝突検出や剛体移動などの物理特性計算は,フレーム レートに依存しない個々の固定手順で実行されます。 これにより,異なるコンピュータ上あるいはフレーム レートに変更が発生した場合に,シミュレーションがより一貫したものになります。 例えば,多くのゲーム画面上の表示により,あるいは,ユーザーがバックグラウンドで別のアプリケーションを起動したために,フレーム レートがドロップする場合があります。

固定時間ステップはこのように計算されます。 各フレームが画面上で描画される前に,Unity は,固定デルタ時間で固定時間を進め,現在の時間に達するまで,物理特性計算を実行します。 これは直接 Fixed Timestep プロパティに関連しています。 Fixed Timestep_の値が小さいほど,物理特性計算が頻繁に行われます。 1 秒あたりの固定フレームの数は,1 を Fixed Timestep_ で割ることで計算されます。 そのため,1 / 0.02 = 50 固定フレーム毎秒,1 / 0.05 = 20 固定フレーム毎秒となります。

簡単に言えば,固定アップデート値が小さくなるほど,物理特性計算の精度は高くなりますが,その分,CPU への負担も大きくなります。

Maximum Allowed Timestep

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() イベントが減速します。

通常のシナリオ

  1. Fixed Timestepが 0.01 の場合,physx,fixedUpdate およびアニメーションは 10ms ごとに処理する必要があります。
  2. フレーム レートが 〜33 ms の場合,固定ループは,平均で,視覚フレームごとに 3 回実行されます。
  3. しかし,フレーム時間が一定の値に固定されず,シーンの状態,OS バックグラウンド タスクなどを含む多くの要因に依存します。
  4. 3 つの理由から,フレーム時間が 40〜50msに達することがありますが,これは,固定ステップ ループが 4〜5回実行されるということです。
  5. 固定時間ステップ タスクがかなり重く,physx で時間が消費される場合,fixedUpdates とアニメーションによりフレーム時間が更に10ms 延長されますが,これは,これらのすべての固定時間ステップ タスクがもう 1 回繰り返されるということです。
  6. 5 に記載するプロセスが 10 まで延長し,固定ステップのループにより時間がかかる場合があります。
  7. そのため, Maximum Allowed Timestep が導入され,これが,1 つの視覚フレーム 中に処理できる physx,fixedUpdates および アニメーションの回数を制限する方法になります。 Maximum Allowed Timestep を 100 ms に設定し, Fixed Timestep が 10 ms の場合,固定ステップ タスクが視覚フレームごとに 10 回まで実行されます。 そのため,固定タイムステップの繰り返し数の増加による,軽いパフォーマンス障害が大きなパフォーマンス障害を引き起こすことがあります。 Maximum Allowed Timestep を 30 ms まで下げると,最大固定ステップの繰り返し数が 3 に制限されますが,これは,physx,fixedUpdates および アニメーションの回数がフレーム時間を吹き飛ばすことありませんが,この制限に対して悪影響をおよぼすことがあります。 パフォーマンス障害が発生すると,アニメーションと物理特性が若干減速します。

ヒント

  • スクリプティングを通じて, Time Scale を動的に変更することで,時間の経過と共にプレイヤーに制御を与えます。
  • ゲームの物理特性が重いか,FixedUpdate()イベントでかなりの時間を消費する場合,Maximum Allowed Timestepを 0.1 に設定します。 これにより,物理特性が 1 秒あたり 10 フレーム以下でゲームを駆動するのを防ぎます。
タグとレイヤー
ネットワーク グループ