Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
AABB¶
A 3D axis-aligned bounding box.
Description¶
AABB consists of a position, a size, and several utility functions. It is typically used for fast overlap tests.
It uses floating-point coordinates. The 2D counterpart to AABB is Rect2.
Negative values for size are not supported and will not work for most methods. Use abs to get an AABB with a positive size.
Note: Unlike Rect2, AABB does not have a variant that uses integer coordinates.
注釈
There are notable differences when using this API with C#. See C# API differences to GDScript for more information.
Tutorials¶
Properties¶
|
||
|
||
|
Constructors¶
AABB ( ) |
|
Methods¶
abs ( ) const |
|
get_center ( ) const |
|
get_endpoint ( int idx ) const |
|
get_longest_axis ( ) const |
|
get_longest_axis_index ( ) const |
|
get_longest_axis_size ( ) const |
|
get_shortest_axis ( ) const |
|
get_shortest_axis_index ( ) const |
|
get_shortest_axis_size ( ) const |
|
get_support ( Vector3 dir ) const |
|
get_volume ( ) const |
|
has_surface ( ) const |
|
has_volume ( ) const |
|
intersection ( AABB with ) const |
|
intersects ( AABB with ) const |
|
intersects_plane ( Plane plane ) const |
|
intersects_ray ( Vector3 from, Vector3 dir ) const |
|
intersects_segment ( Vector3 from, Vector3 to ) const |
|
is_equal_approx ( AABB aabb ) const |
|
is_finite ( ) const |
|
Operators¶
operator != ( AABB right ) |
|
operator * ( Transform3D right ) |
|
operator == ( AABB right ) |
Property Descriptions¶
Vector3 end = Vector3(0, 0, 0)
Ending corner. This is calculated as position + size
. Setting this value will change the size.
Vector3 position = Vector3(0, 0, 0)
Beginning corner. Typically has values lower than end.
Vector3 size = Vector3(0, 0, 0)
Size from position to end. Typically, all components are positive.
If the size is negative, you can use abs to fix it.
Constructor Descriptions¶
AABB AABB ( )
Constructs a default-initialized AABB with default (zero) values of position and size.
Constructs an AABB as a copy of the given AABB.
AABB AABB ( Vector3 position, Vector3 size )
Constructs an AABB from a position and size.
Method Descriptions¶
AABB abs ( ) const
Returns an AABB with equivalent position and size, modified so that the most-negative corner is the origin and the size is positive.
bool encloses ( AABB with ) const
Returns true
if this AABB completely encloses another one.
AABB expand ( Vector3 to_point ) const
Returns a copy of this AABB expanded to include a given point.
Example:
# position (-3, 2, 0), size (1, 1, 1)
var box = AABB(Vector3(-3, 2, 0), Vector3(1, 1, 1))
# position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB and Vector3(0, -1, 2)
var<