Version: 2023.2
言語: 日本語
リジッドボディの物理演算の概要
リジッドボディへの一定力の適用

リジッドボディコライダーの設定

コライダー は、Rigidbody (リジッドボディ) の物理的境界を定義します。衝突の発生を可能にするには、ゲームオブジェクトに、リジッドボディと共にコライダーを追加する必要があります。

リジッドボディが別のリジッドボディと衝突した場合、物理演算エンジンは、両方のゲームオブジェクトがコライダーを持っている場合にのみ衝突の計算を行います。リジッドボディだけを持ちコライダーを持たないゲームオブジェクトは、他のゲームオブジェクトを通り抜け、Unity の衝突計算には含まれません。

コライダーはリジッドボディの物理的境界を定義します。
コライダーはリジッドボディの物理的境界を定義します。

リジッドボディ同士が衝突した場合、それらの反応は、各リジッドボディの相対的な Mass (質量) によって決定されます。

詳細は 衝突 を参照してください。

凸と凹のコライダージオメトリ

PhysX 物理演算システムでは、キネマティックでないリジッドボディに配置するコライダーは凹状ではなく凸状である必要があります。Unity のプリミティブ形状は全て凸状です。ただし、Unity はデフォルトで メッシュコライダー を凹状と見なします。

キネマティックでないリジッドボディにデフォルトのメッシュコライダーを適用すると、Unity はランタイムにエラーをスローします。キネマティックでないリジッドボディが物理ベースの力を受けるようにするには、メッシュコライダーを凸状にするように Unity に指示する必要があります。これを行うには、メッシュコライダーの Convex プロパティを有効にしてください。Convex を有効にすると、Unity は、関連するメッシュに基づいて、凸状のコライダー形状 (ハルと呼ばれます) を自動的に計算します。ただし、メッシュの凸状ハルは元の形状の近似に過ぎないため、シミュレーションが不正確になる可能性があります。

より正確な衝突シミュレーションを行うには、以下のいずれかの方法が可能です。

  • DCC ツールを使ってメッシュをいくつかの部分に分割することで、Unity が凸状ハルの計算を行う時に、全体の形状がより正確に表されるようにする。
  • Use several primitive Colliders to manually build a Compound Collider that is the same shape as the mesh.
  • 任意のメッシュの凸近似を計算する自動ツール (Unity の V-HACD など) を使用する。

キネマティック (つまり物理ベースの力を受けない) リジッドボディには、どのようなコライダーでも適用できます。

リジッドボディの物理演算の概要
リジッドボディへの一定力の適用