Version: Unity 6.0 (6000.0)
言語 : 日本語
衝突判定
レイヤーベースの衝突検出

衝突判定モードの選択

Collision Detection は、物理ボディ (Rigidbody または ArticulationBody) が衝突の判定に使用するアルゴリズムを定義します。アルゴリズムによって精度のレベルは異なりますが、より正確なアルゴリズムにはより多くの計算リソースが必要です。

使用可能なアルゴリズムは 3 つあり、4 つの衝突判定モードによって表されます。

衝突判定モード アルゴリズム 推奨される用途 非推奨の用途
Discrete Discrete - ゆっくりと動く衝突 - 高速で動く衝突
Continuous Speculative 投機的 CCD - 高速で動く衝突 - 特に高い精度を必要とする高速で動く衝突。
Continuous スイープ CCD (連続的衝突判定) - 高い精度が必要な高速で移動する直線の衝突。
- 静的コライダーとのみ衝突する物理ボディ。
- 物理ボディの回転の結果として発生する衝突。
- 移動するコライダーと衝突する物理ボディ。
Continuous Dynamic スイープ CCD (連続的衝突判定) - 高い精度が必要な高速で移動する直線の衝突。
- 移動するコライダーと衝突する物理ボディ。
- 物理ボディの回転の結果として発生する衝突。

以下の判定フローは、衝突判定タイプを選択する際の出発点として使用できます。最も計算負荷の低いモードから開始し、最も計算負荷の高いモードへと進みます。

  1. 最初に Discrete を試します。
  2. Discrete モードで衝突の見逃しが発生する場合は、Continuous Speculative を試します。
  3. Continuous Speculative モードで衝突の見逃しや誤った衝突が発生する場合は、静的コライダーとの衝突には Continuous、動的 Rigidbody コライダーとの衝突には Continuous Dynamic を試します。

場合によっては、物理演算のパフォーマンスが衝突判定モードと物理演算の時間ステップ間隔の組み合わせに依存していることがあります。両方を試して結果をプロファイルし、プロジェクトに最適なソリューションを見つけてください。

衝突判定モードの選択

アルゴリズムを選択するには、以下のいずれかの方法で物理ボディの Collision Detection プロパティを設定します。

衝突判定
レイヤーベースの衝突検出