Version: 2021.2
LanguageEnglish
  • C#

ColliderDistance2D

struct in UnityEngine

/

Implemented in:UnityEngine.Physics2DModule

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 distance between those two points. The 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 normal is provided that is a normalized vector that points from pointB to pointA. This vector, when scaled with the distance, provide a vector that can be used to move the Collider2D so that they are no longer overlapped (if the distance is negative) or so they are touching (if the 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.

See Also: Physics2D.Distance, Collider2D.Distance and Rigidbody2D.Distance.

Properties

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 distance away from pointB.
pointBA point on a Collider2D that is a specific distance away from pointA.
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961