Version: 2021.3


class in UnityEngine





Represents a Collider2D that is configured by assigning PhysicsShape2D geometry to it via a PhysicsShapeGroup2D.

Unlike all other Collider2D which are defined indirectly by controlling geometric parameters such as the size of a Box or the radius of a Circle, here the CustomCollider2D is defined entirely by adding, removing and modifying PhysicsShape2D. This results in a fully customized Collider2D containing an unlimited number of low-level PhysicsShape2D which can represent any type of shape or shapes, or emulate any other existing Collider2D such as the CircleCollider2D, BoxCollider2D, CapsuleCollider2D, EdgeCollider2D, CompositeCollider2D or TilemapCollider2D.

Alongside the customized geometry, there is full support for all existing Collider2D functionality such as triggers, physics materials, queries etc.

When assigning PhysicsShape2D to the CustomCollider2D, you can do so either during Edit mode or Play mode.

When modifying the CustomCollider2D during Edit mode, all assigned PhysicsShape2D and associated vertices will be saved with the Unity Scene. When the Unity Scene is loaded again, the CustomCollider2D will maintain its configuration. In this way, it acts like any other Collider2D that you make changes to during Edit mode. Using this ability, Edit mode authoring scripts can be used to create custom geometry.

When modifing the CustomCollider2D during Play mode, all assigned PhysicsShape2D and associated vertices will be lost when exiting Play mode. This acts like any other Collider2D.


customShapeCountThe total number of custom PhysicsShape2D assigned to the Collider. (Read Only)
customVertexCountThe total number of vertices used by the Collider. (Read Only)

Public 関数

ClearCustomShapesDeletes all the shapes and associated vertices for those shapes from the Collider.
GetCustomShapesGets all the physics shapes and vertices in the Collider and places them in the specified PhysicsShapeGroup2D.
SetCustomShapeSets a single shape and all associated shape vertices from the specified physicsShapeGroup into the Collider.
SetCustomShapesSets all the shapes and vertices in the Collider to those represented by the specified PhysicsShapeGroup2D.



isActiveAndEnabledReports whether a GameObject and its associated Behaviour is active and enabled.
attachedRigidbodyThe Rigidbody2D attached to the Collider2D.
bouncinessGet the bounciness used by the collider.
compositeGet the CompositeCollider2D that is available to be attached to the collider.
density質量の計算に使用されるコライダーの密度( auto mass が有効の場合)
errorStateThe error state that indicates the state of the physics shapes the 2D Collider tried to create. (Read Only)
frictionGet the friction used by the collider.
shapeCountThe number of active PhysicsShape2D the Collider2D is currently using.
sharedMaterialThe PhysicsMaterial2D that is applied to this collider.
usedByCompositeSets whether the Collider will be used or not used by a CompositeCollider2D.
usedByEffectorコライダーが Effector をアタッチしているかどうか。
transformThe Transform attached to this GameObject.
hideFlagsShould the object be hidden, saved with the Scene or modifiable by the user?

Public 関数

CastCasts the Collider shape into the Scene starting at the Collider position ignoring the Collider itself.
ClosestPointReturns a point on the perimeter of this Collider that is closest to the specified position.
CreateMeshCreates a planar Mesh that is identical to the area defined by the Collider2D geometry.
DistanceCalculates the minimum separation of this collider against another collider.
GetContactsRetrieves all contact points for this Collider.
GetShapeHashGenerates a simple hash value based upon the geometry of the Collider2D.
GetShapesGets all the PhysicsShape2D used by the Collider2D.
IsTouchingこのコライダーが コライダー に触れているかをチェックします
IsTouchingLayersこのコライダーが指定した レイヤーマスク のコライダーに触れているかをチェックします
OverlapColliderGet a list of all colliders that overlap this collider.
RaycastCasts a ray into the Scene that starts at the Collider position and ignores the Collider itself.
BroadcastMessageゲームオブジェクトまたは子オブジェクトにあるすべての MonoBehaviour を継承したクラスにある methodName 名のメソッドを呼び出します。
CompareTagChecks the GameObject's tag against the defined tag.
GetComponentReturns the component of type if the GameObject has one attached.
GetComponentInChildrenReturns the Component of type in the GameObject or any of its children using depth first search.
GetComponentInParentReturns the Component of type in the GameObject or any of its parents.
GetComponents GameObject から type のタイプのコンポーネントを「すべて」取得します。
GetComponentsInChildrenReturns all components of Type type in the GameObject or any of its children using depth first search. Works recursively.
GetComponentsInParent GameObject や深さ優先探索を活用して、親子関係にある親オブジェクトから type のタイプのコンポーネントを「すべて」取得します。
SendMessageゲームオブジェクトにアタッチされているすべての MonoBehaviour にある methodName と名付けたメソッドを呼び出します
SendMessageUpwardsゲームオブジェクトと親(の親、さらに親 ... )にアタッチされているすべての MonoBehaviour にある methodName と名付けたメソッドを呼び出します
TryGetComponentGets the component of the specified type, if it exists.
GetInstanceIDGets the instance ID of the object.
ToStringReturns the name of the object.

Static 関数

DestroyRemoves a GameObject, component or asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindObjectOfTypeタイプ type から最初に見つけたアクティブのオブジェクトを返します
FindObjectsOfTypeGets a list of all loaded objects of Type type.
Instantiateoriginal のオブジェクトをクローンします


operator !=二つのオブジェクトが異なるオブジェクトを参照しているか比較します
operator ==2つのオブジェクト参照が同じオブジェクトを参照しているか比較します。


OnCollisionEnter2Dオブジェクトのコライダーが別のコライダーに衝突したときに呼び出されます(2D 物理挙動のみ)
OnCollisionExit2Dオブジェクトのコライダーと別のオブジェクトコライダーが衝突から離れた瞬間に呼び出されます(2D 物理挙動のみ)
OnCollisionStay2Dオブジェクトのコライダーと別のオブジェクトのコライダーが衝突している間、毎フレーム呼び出され続けます(2D 物理挙動のみ)
OnTriggerEnter2Dオブジェクトにアタッチしたトリガーの中に別のオブジェクトが入ったときに呼び出されます。(2D 物理挙動のみ)
OnTriggerExit2Dトリガー状態のオブジェクトのコライダーと別のオブジェクトのコライダーが衝突から離れた瞬間に、呼び出されます。(2D 物理挙動のみ)
OnTriggerStay2Dトリガー状態のオブジェクトのコライダーと別のオブジェクトのコライダー衝突している間、毎フレーム呼び出され続けます。(2D 物理挙動のみ)