Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


ColliderDistance2D

Represents the separation or overlap of two Collider2D.
Read time 1 minuteLast updated 4 days ago

Definition

  • Type: Struct
  • Namespace: UnityEngine
  • Assembly: UnityEngine.Physics2DModule
public struct ColliderDistance2D

Remarks

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.

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.