Version: Unity 6.7 Alpha (6000.7)
LanguageEnglish
  • C#

ColliderDistance2D

struct in UnityEngine

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

Represents the separation or overlap of two Collider2D.

The ColliderDistance2D primarily defines a point on the exterior of each Collider2D along with the ColliderDistance2D.distance between those two points. The ColliderDistance2D.distance between them can be positive indicating that the Collider2D are separated (not overlapped), zero indicating that they are touching (but not overlapped) or negative indicating that they are overlapped.

A ColliderDistance2D.normal is provided that is a normalized vector that points from ColliderDistance2D.pointB to ColliderDistance2D.pointA. This vector, when scaled with the ColliderDistance2D.distance, provide a vector that can be used to move the Collider2D so that they are no longer overlapped (if the ColliderDistance2D.distance is negative) or so they are touching (if the ColliderDistance2D.distance is positive).

A common use-case for this is solving overlaps between two Collider2D, particularly when attached to a Rigidbody2D set to be RigidbodyType2D.Kinematic.

Additional resources: Physics2D.Distance, Collider2D.Distance, Rigidbody2D.Distance

Properties

Property Description
distanceGets the distance between two colliders.
isOverlappedGets whether the distance represents an overlap or not.
isValidGets whether the distance is valid or not.
normalA normalized vector that points from pointB to pointA.
pointAA point on a Collider2D that is a specific ColliderDistance2D.distance away from ColliderDistance2D.pointB.
pointBA point on a Collider2D that is a specific ColliderDistance2D.distance away from ColliderDistance2D.pointA.