Hinge Joint
Rigidbody

Mesh Collider

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

プロパティー

プロパティー 機能
Convex オンにすると、MeshCollider は他の MeshCollider と衝突します。 Convex オンの MeshCollider は三角形面数の上限が 255 に制限されています。
Is Trigger If enabled, Unity uses this Collider for triggering events, and the physics engine ignores it.
Cooking Options Enable or disable the Mesh cooking options that affect how the physics engine processes Meshes.
None Disable all of the Cooking Options listed below.
Everything Enable all of the Cooking Options listed below.
Inflate Convex Mesh Allow the physics engine to increase the volume of the input Mesh, to generate a valid convex mesh.
Cook for Faster Simulation Make the physics engine cook Meshes for faster simulation. When enabled, this runs some extra steps to guarantee the resulting Mesh is optimal for run-time performance. This affects the performance of the physics queries and contacts generation. When this setting is disabled, the physics engine uses a faster cooking time instead, and produces results as fast as possible. Consequently, the cooked Mesh Collider might not be optimal.
Enable Mesh Cleaning Make the physics engine clean Meshes. When enabled, the cooking process tries to eliminate degenerate triangles of the Mesh, as well as other geometrical artifacts. This results in a Mesh that is better suited for use in collision detection and tends to produce more accurate hit points.
Weld Colocated Vertices Make the physics engine remove equal vertices in the Meshes. When enabled, the physics engine combines the vertices that have the same position. This is important for the collision feedback that happens at run time.
Material 使用する 物理マテリアル への参照。物理マテリアルによりコライダーが他と衝突したとき、どのように相互作用するかが決定されます。
Mesh 衝突判定に使用するメッシュ。

説明

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

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

メッシュの調整

メッシュの調整は、通常のメッシュを物理エンジンで使用できるメッシュに変更します。調整によって、Physics.Raycast などの物理クエリを空間検索する構造と、接触生成をサポートする構造を構築します。Unity は、すべてのメッシュを衝突検出で使用する前に調整します。これは、インポート時 (Import Settings > Model > Generate Colliders)、またはランタイムに行われます。

ランタイムにメッシュを生成する場合 (例えばプロシージャルなサーフェスの場合)、Cooking Options を利用するとメッシュをより短時間で作成するのに便利です。Cooking Options で生成結果を速くするように設定し、続くクリーニング処理を無効にします。欠点は、縮退三角形や位置を等しくする頂点を避ける必要がありますが、その分、メッシュ調整の時間は短縮されます。

Enable Mesh CleaningWeld Colocated Vertices を無効にする場合、それらのアルゴリズムが除外するようなデータを使用しないように気を付ける必要があります。Weld Colocated Vertices が無効になっている場合は、同じ位置をもつ頂点がないことを確認します。Enable Mesh Cleaning が有効な場合は、面積がゼロに近い小さい三角形、細い三角形、面積が無限大に近い巨大な三角形でないことを確認します。

注意Cooking Options をデフォルト設定以外の値に設定する場合は、isReadable の値が true のメッシュを使用する必要があります。

制限

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

Mesh Colliders that do not have Convex enabled are only supported on GameObjects without a Rigidbody component. To apply a Mesh Collider to a Rigidbody component, tick the Convex checkbox.

For a Mesh Collider to work properly, the Mesh must be read/write enabled in any of these circumstances:

  • The Mesh Collider’s transform has negative scaling (for example, (–1, 1, 1)).
  • The Mesh Collider’s transform is skewed or sheared (for example, when a rotated transform has a scaled parent transform).
  • The Mesh Collider’s Cooking Options flags are set to any value other than the default.

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


  • 2018–06–07 編集レビュー を行って修正されたページ

  • 2018–08–23 編集レビュー を行って修正されたページ

  • Mesh Cooking Options は 2017.3 で追加NewIn20173

  • バージョン 2018.1 の更新機能

  • Updated limitations relating to read/write enabled setting in 2017.3

Hinge Joint
Rigidbody