Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


PhysicsAABB

Represents a 2D axis-aligned bounding box.
Read time 2 minutesLast updated 12 days ago

Definition

public struct PhysicsAABB : IEquatable<PhysicsAABB>

Remarks

Use a
PhysicsAABB
with PhysicsWorld.TestOverlapAABB to check if a bounding box overlaps another object in the world, or with PhysicsWorld.DrawAABB to draw it for debugging.
Additional Resources: PhysicsWorld.TestOverlapAABB

Examples

// Check whether a bounding box overlaps anything in the world.using UnityEngine;using Unity.U2D.Physics;public class TestOverlapAABBExample : MonoBehaviour{ void Start() { PhysicsWorld world = PhysicsWorld.defaultWorld; PhysicsAABB aabb = new PhysicsAABB(new Vector2(-1f, -1f), new Vector2(1f, 1f)); bool overlaps = world.TestOverlapAABB(aabb, new PhysicsQuery.QueryFilter()); }}

Constructors

Constructor

Description

PhysicsAABB(UnityEngine.Vector2)Create an axis-aligned bounding-box that encapsulates the specified point.
PhysicsAABB(UnityEngine.Vector2,UnityEngine.Vector2)Create an axis-aligned bounding-box with the specified bounds.

Properties

Property

Description

centerGet the center of the AABB.
extentsGet the extents (half size) of the AABB.
isValidCheck if the AABB is valid. To be valid, _upperBound should be equal to or above _lowerBound.
lowerBoundThe lower-left bounding vertex. This should be equal to or lower than _upperBound.
normalizedGet a new normalized copy of the AABB ensuring that _lowerBound is lower than or equal to _upperBound.
perimeterGet the surface area (perimeter length) of the AABB.
upperBoundThe upper-right bounding vertex. This should be equal to or above _lowerBound.

Methods

Method

Description

CastRayPerform a raycast against this AABB. Nothing will be detected if the ray starts inside the AABB. To check if the ray starts inside the AABB use PhysicsAABB.OverlapPoint.
ContainsChecks if the AABB contains (completely encapsulates) the specified AABB.
NormalizeNormalize the AABB ensuring that _lowerBound is lower than or equal to _upperBound.
OverlapCheck if the specified AABB overlaps this AABB.
OverlapPointCheck if the specified point overlaps this AABB.
TranslateCreate an AABB as a translated version of the current AABB.
UnionCreate a union of the specified AABB and this AABB where resulting AABB completely encapsulates both AABB.