Hinge Joint
Rigidbody

Mesh Collider

Mesh Colliderメッシュのアセット からそのメッシュにもとづくコライダーを生成します。複雑なメッシュの場合、プリミティブを使用するよりも遥かに正確に衝突検出できます。Convex がオンとなっているメッシュコライダーは、他のメッシュコライダーと衝突することができます。

プロパティー

プロパティー 機能
Is Trigger オンにすると、コライダーはイベントのトリガーとなり、物理エンジンにより無視されます。
Material 使用する 物理マテリアル への参照。物理マテリアルによりコライダーが他と衝突したとき、どのように相互作用するかが決定されます。
Mesh 衝突判定に使用するメッシュ。
Convex オンにすると、MeshCollider は他の MeshCollider と衝突します。 Convex オンの MeshCollider は三角形面数の上限が 255 に制限されています。

説明

メッシュコライダーは、ゲームオブジェクトにアタッチされた メッシュ から、コライダーの形状を作成し、コライダーの位置とスケールを正しく設定するために、同じくアタッチされた Transform を読み込みます。この方法の利点は、コライダーの形状をオブジェクトの表示されているメッシュの形状とまったく同じにできるため、より精密で正しい衝突判定ができる事です。しかし、その精密さによって、プリミティブのコライダー (スフィア、ボックス、カプセル) による衝突判定よりも、処理オーバーヘッドが高くなるので、メッシュコライダーは控えめに使った方がよいでしょう。

衝突メッシュの面は一方向です。つまり、オブジェクトが一方向で通り抜けできますが、もう一方向からは衝突できます。

メッシュコライダーには、いくつかの制限があります。

  • 凸状ではない ( Convex が有効になっていない) メッシュコライダーはリジッドボディがアタッチされていないゲームオブジェクト上でのみサポートされています。リジッドボディとメッシュコライダーを組み合わせて使いたいときは、プロパティーにある Convex にチェックを入れる必要があります。
  • 以下のような場合では、メッシュコライダーが適切に作用するために、 メッシュの Import SettingsRead/Write Enabled チェックボックスを有効にする必要があります。
    • 負の数での拡大/縮小 (例えば (–1, 1, 1))
    • シアートランスフォーム (例えば、回転したメッシュが拡大/縮小した親のトランスフォームを持つとき)

最適化のコツ メッシュがメッシュコライダーだけに使用される場合は、物理システムに必要でないため、Import SettingsNormals を無効にできます

Unity の5.0以前のバージョンには、メッシュと球での相互作用を改善するために、メッシュコライダー用の Smooth Sphere Collisions プロパティーがあります。このプロパティーは、物理エンジンによってスムーズな相互作用が標準的な挙動になる前のもので、現在では使われていません。また、オフにしても利点はありません。

Hinge Joint
Rigidbody