Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


Bounds

Represents an axis aligned bounding box.
Read time 3 minutesLast updated 6 days ago

Definition

public struct Bounds : IEquatable<Bounds>, IFormattable

Remarks

An axis-aligned bounding box, or AABB for short, is a box aligned with coordinate axes and fully enclosing some object. Because the box is never rotated with respect to the axes, it can be defined by just its Bounds.center and Bounds.extents, or alternatively by Bounds.min and Bounds.max points.

Examples

using UnityEngine;public class BoundsVisualizer : MonoBehaviour{ public Bounds bounds; void Start() { // Example bounds setup if not assigned if (bounds.size == Vector3.zero) bounds = new Bounds(transform.position, Vector3.one); } void Update() { DrawBounds(bounds, Color.red); } void DrawBounds(Bounds b, Color color) { Vector3 min = b.min; Vector3 max = b.max; Vector3[] corners = new Vector3[8]; // Bottom corners[0] = new Vector3(min.x, min.y, min.z); corners[1] = new Vector3(max.x, min.y, min.z); corners[2] = new Vector3(max.x, min.y, max.z); corners[3] = new Vector3(min.x, min.y, max.z); // Top corners[4] = new Vector3(min.x, max.y, min.z); corners[5] = new Vector3(max.x, max.y, min.z); corners[6] = new Vector3(max.x, max.y, max.z); corners[7] = new Vector3(min.x, max.y, max.z); // Bottom rectangle Debug.DrawLine(corners[0], corners[1], color); Debug.DrawLine(corners[1], corners[2], color); Debug.DrawLine(corners[2], corners[3], color); Debug.DrawLine(corners[3], corners[0], color); // Top rectangle Debug.DrawLine(corners[4], corners[5], color); Debug.DrawLine(corners[5], corners[6], color); Debug.DrawLine(corners[6], corners[7], color); Debug.DrawLine(corners[7], corners[4], color); // Vertical edges Debug.DrawLine(corners[0], corners[4], color); Debug.DrawLine(corners[1], corners[5], color); Debug.DrawLine(corners[2], corners[6], color); Debug.DrawLine(corners[3], corners[7], color); }}

Constructors

Constructor

Description

Bounds(UnityEngine.Vector3,UnityEngine.Vector3)Creates a new Bounds.
Bounds(UnityEngine.Vector3@,UnityEngine.Vector3@)Creates a new Bounds.

Properties

Property

Description

centerThe center of the bounding box.
extentsThe extents of the Bounding Box. This is always half of the Bounds.size of the Bounds.
maxThe maximal point of the box. This is always equal to center+extents.
minThe minimal point of the box. This is always equal to center-extents.
sizeThe total size of the box. This is always twice as large as the Bounds.extents.

Methods

Method

Description

ClosestPointThe closest point on the bounding box.
ContainsIs
point
contained in the bounding box?
EncapsulateGrow the bounds to encapsulate the bounds.
ExpandExpand the bounds by:
size
+ (
amount
* 2) along each side.
IntersectRayDoes
ray
intersect this bounding box?
IntersectsDoes another bounding box intersect with this bounding box?
SetMinMaxSets the bounds to the
min
and
max
value of the box.
SqrDistanceThe smallest squared distance between the point and this bounding box.
ToStringReturns a formatted string for the bounds.