Mesh Collider (メッシュコライダー) は メッシュのアセット からそのメッシュにもとづくコライダーを生成します。複雑なメッシュの場合、プリミティブを使用するよりも遥かに正確に衝突検出できます。Convex (凸状) が有効なっているメッシュコライダーは、他のメッシュコライダーと衝突することができます。
プロパティー | 機能 |
---|---|
Is Trigger | オンにすると、コライダーはイベントのトリガーとなり、物理エンジンにより無視されます。 |
Material | 使用する 物理マテリアル への参照。物理マテリアルによりコライダーが他と衝突したとき、どのように相互作用するかが決定されます。 |
Mesh | 衝突判定に使用するメッシュ。 |
Convex | これをチェックすると、Convex (凸状) を有効にします。有効にすると、このメッシュコライダーは他のメッシュコラーダーと衝突可能になります。凸状のメッシュコライダーは、三角形の面の上限数が 255 に制限されます。 |
メッシュコライダーは、ゲームオブジェクトにアタッチされた メッシュ から、コライダーの形状を作成し、コライダーの位置とスケールを正しく設定するために、同じくアタッチされた Transform を読み込みます。この方法の利点は、コライダーの形状をオブジェクトの表示されているメッシュの形状とまったく同じにできるため、より精密で正しい衝突判定ができる事です。しかし、その精密さによって、プリミティブのコライダー (スフィア、ボックス、カプセル) による衝突判定よりも、処理オーバーヘッドが高くなるので、メッシュコライダーは控えめに使った方がよいでしょう。
衝突メッシュの面は一方向です。つまり、オブジェクトが一方向で通り抜けできますが、もう一方向からは衝突できます。
メッシュコライダーには、いくつかの制限があります。
最適化のコツ メッシュがメッシュコライダーだけに使用される場合は、物理システムに必要でないため、Import Settings で Normals を無効にできます
Unity の5.0以前のバージョンには、メッシュと球での相互作用を改善するために、メッシュコライダー用の Smooth Sphere Collisions プロパティーがあります。このプロパティーは、物理エンジンによってスムーズな相互作用が標準的な挙動になる前のもので、現在では使われていません。また、オフにしても利点はありません。