動作検証環境
Collider 2D について
Collider 2D は2Dオブジェクトに衝突(当たり)判定を導入したい時に使います。
以下の種類があります。
Circle Collider 2D
Box Collider 2D
Polygon Collider 2D
Edge Collider 2D
Capsule Collider 2D
Composite Collider 2D
Tilemap Collider 2D
Circle Collider 2D
docs.unity3d.com
円形の衝突範囲。
プロパティ名
説明
Material
物理特性を設定した Physics Material 2D を指定。
Is Trigger
チェックされていない時は物理エンジン による衝突が発生し、衝突時には OnCollisionXXX2D 系のコールバックが発生する。チェックされている時、物理エンジン による衝突を起こさず、衝突時には OnTriggerXXX2D 系のコールバックを発生させる。
Used by Effector
チェックされている場合には Effector を使用する。 Effector 2D 系のコンポーネント を付けておく必要が有る。
Offset
中心位置をずらしたい場合に数値を設定。
Radius
半径を設定。
Layer Overrides の項目についてはこちらの記事 を参照。
■ Physics Material 2D
Box Collider 2D
docs.unity3d.com
四角形の衝突範囲。
プロパティ名
説明
Material
物理特性を設定した Physics Material 2D を指定。
Is Trigger
チェックされていない時は物理エンジン による衝突が行われ、衝突時には OnCollisionXXX2D 系のコールバックが発生する。チェックされている時、物理エンジン による衝突を起こさず、衝突時には OnTriggerXXX2D 系のコールバックを発生させる。
Used by Effector
チェックされている時、 Effector を使用する。 Game Object には Effector 2D 系のコンポーネント を付けておく必要が有る。
Used by Composite
チェックされている時、 Composite Collider 2D での設定を適用。
Auto Tiling
チェックされている時、 Sprite で 9-slicing の設定が行われていると Sprite のサイズ変更に衝突範囲が追随します。
Offset
中心位置をずらしたい場合に数値を設定。
Size
サイズを指定。
Edge Radius
衝突範囲のエッジ部分に円状の範囲を追加する。
Layer Overrides の項目についてはこちらの記事 を参照。
■ Used by Composite がチェックされている時
■ Used by Composite がチェックされていない時
■ Auto Tiling が無効の時は衝突範囲がリサイズに追随しない
※ Sprite のサイズを変更しても衝突範囲は常に同じサイズのままになっている事が確認できます。
■ Auto Tiling が有効の時は衝突範囲がリサイズに追随する
■ Edge Radius
Polygon Collider 2D
docs.unity3d.com
ポリゴン(ラインで囲まれた領域)の衝突範囲。
プロパティ名
説明
Edit Collider
ボタンを押すと頂点編集モードに移行します。
Material
物理特性を設定した Physics Material 2D を指定。
Is Trigger
チェックされていない時は物理エンジン による衝突が行われ、衝突時には OnCollisionXXX2D 系のコールバックが発生する。チェックされている時、物理エンジン による衝突を起こさず、衝突時には OnTriggerXXX2D 系のコールバックを発生させる。
Used by Effector
チェックされている時、 Effector を使用する。 Game Object には Effector 2D 系のコンポーネント を付けておく必要が有る。
Used by Composite
チェックされている時、 Composite Collider 2D での設定を適用。
Auto Tiling
チェックされている時、 Sprite で 9-slicing の設定が行われていると Sprite のサイズ変更に衝突範囲が追随します。
Offset
中心位置をずらしたい場合に数値を設定。
Points
ポリゴンの頂点情報
Layer Overrides の項目についてはこちらの記事 を参照。
■ Edit Collider(頂点の編集)
ライン上でマウスカーソルを移動すると四角が表示されます。クリックすると四角の位置に頂点が追加されます。
Ctrl( Mac の場合は Command )キーを押した状態でライン上にマウスカーソルを移動させると2つのラインが赤く表示されます。その状態でクリックすると中央の頂点が削除されます。
■ Points の例
Edge Collider 2D
docs.unity3d.com
1つラインや複数のラインによる衝突範囲。ポリゴンと異なり面積を持っていない。
プロパティ名
説明
Edit Collider
ボタンを押すと頂点編集モードに移行します。
Material
物理特性を設定した Physics Material 2D を指定。
Is Trigger
チェックされていない時は物理エンジン による衝突が行われ、衝突時には OnCollisionXXX2D 系のコールバックが発生する。チェックされている時、物理エンジン による衝突を起こさず、衝突時には OnTriggerXXX2D 系のコールバックを発生させる。
Used by Effector
チェックされている時、 Effector を使用する。 Game Object には Effector 2D 系のコンポーネント を付けておく必要が有る。
Offset
中心位置をずらしたい場合に数値を設定。
Points
ポリゴンの頂点情報
Edge Radius
衝突範囲のエッジ部分に円状の範囲を追加する。
Used by Composite
チェックされている時、 Composite Collider 2D での設定を適用。
Auto Tiling
チェックされている時、 Sprite で 9-slicing の設定が行われていると Sprite のサイズ変更に衝突範囲が追随します。
Offset
中心位置をずらしたい場合に数値を設定。
Points
ポリゴンの頂点情報
Use Adjacent Start Point
エッジの開始点での Adjacent を有効にする。
Adjacent Start Point
エッジの開始点での Adjacent を設定。
Use Adjacent End Point
エッジの終点での Adjacent を有効にする。
Adjacent End Point
エッジの終点での Adjacent を設定。
Layer Overrides の項目についてはこちらの記事 を参照。
■ Edit Collider(頂点の編集)
Ctrl( Mac の場合は Command )キーを押した状態でライン上にマウスカーソルを移動させると1つライン、または2つのラインが赤く表示されます。1つのライン時にクリックするとそのラインが削除される形に頂点が削除されます。2つのラインの時にクリックすると中央の頂点が削除されます。
■ Adjacent
Use Adjacent Start Point にチェックを付け、 Adjacent Start Point を設定するとこの様に段差が有る時に乗り越える事が出来る地面を作れる様です。
※公式の PhysicsExamples2D サンプルの EdgeCollider2D_AdjacentPoints のシーンより。
同じ条件で Use Adjacent Start Point のチェックを外した場合にはこの様になりました。
こちらの公式動画の3:30辺りから Adjacent についての解説が有ります(英語)。
VIDEO www.youtube.com
docs.unity3d.com
カプセル型の衝突範囲。
プロパティ名
説明
Edit Collider
ボタンを押すと頂点編集モードに移行します。
Material
物理特性を設定した Physics Material 2D を指定。
Is Trigger
チェックされていない時は物理エンジン による衝突が行われ、衝突時には OnCollisionXXX2D 系のコールバックが発生する。チェックされている時、物理エンジン による衝突を起こさず、衝突時には OnTriggerXXX2D 系のコールバックを発生させる。
Used by Effector
チェックされている時、 Effector を使用する。 Game Object には Effector 2D 系のコンポーネント を付けておく必要が有る。
Offset
中心位置をずらしたい場合に数値を設定。
Size
サイズを指定。
Direction
カプセルの半円部分を垂直に付ける( Vertical )か水平に付ける( Horizontal )かを指定。
Layer Overrides の項目についてはこちらの記事 を参照。
■ Direction を Vertical 、 Size を X=0.5, Y=1.0 に指定
■ Direction を Horizontal 、Size を X=1.0, Y=0.5 に指定
Composite Collider 2D
docs.unity3d.com
複数の Collider をまとめて制御。詳しくはこちら を参照。
Custom Collider 2D
docs.unity3d.com
自前で凝った形状を使いたい時に使用。 PhysicsShapeGroup2D で形状を作成し、設定する。