/Godot 3.0

Vector3

Category: Built-In Types

Brief Description

Vector class, which performs basic 3D vector math operations.

Member Functions

 Vector3 Vector3 ( float x, float y, float z ) Vector3 abs ( ) float angle_to ( Vector3 to ) Vector3 bounce ( Vector3 n ) Vector3 ceil ( ) Vector3 cross ( Vector3 b ) Vector3 cubic_interpolate ( Vector3 b, Vector3 pre_a, Vector3 post_b, float t ) float distance_squared_to ( Vector3 b ) float distance_to ( Vector3 b ) float dot ( Vector3 b ) Vector3 floor ( ) Vector3 inverse ( ) bool is_normalized ( ) float length ( ) float length_squared ( ) Vector3 linear_interpolate ( Vector3 b, float t ) int max_axis ( ) int min_axis ( ) Vector3 normalized ( ) Basis outer ( Vector3 b ) Vector3 reflect ( Vector3 n ) Vector3 rotated ( Vector3 axis, float phi ) Vector3 slide ( Vector3 n ) Vector3 snapped ( float by ) Basis to_diagonal_matrix ( )

Member Variables

• float x - X component of the vector.
• float y - Y component of the vector.
• float z - Z component of the vector.

Numeric Constants

• AXIS_X = 0 — Enumerated value for the X axis. Returned by functions like max_axis or min_axis.
• AXIS_Y = 1 — Enumerated value for the Y axis.
• AXIS_Z = 2 — Enumerated value for the Z axis.

Description

Vector3 is one of the core classes of the engine, and includes several built-in helper functions to perform basic vector math operations.

Member Function Description

Vector3 Vector3 ( float x, float y, float z )

Returns a Vector3 with the given components.

Vector3 abs ( )

Returns a new vector with all components in absolute values (i.e. positive).

float angle_to ( Vector3 to )

Returns the vector’s minimum angle to the vector to.

Vector3 bounce ( Vector3 n )

Bounce returns the vector “bounced off” from the given plane, specified by its normal vector.

Vector3 ceil ( )

Returns a new vector with all components rounded up.

Vector3 cross ( Vector3 b )

Returns the cross product with b.

Vector3 cubic_interpolate ( Vector3 b, Vector3 pre_a, Vector3 post_b, float t )

Performs a cubic interpolation between vectors pre_a, a, b, post_b (a is current), by the given amount (t). (t) should be a float of 0.0-1.0, a percentage of how far along the interpolation is.

float distance_squared_to ( Vector3 b )

Returns the squared distance to b. Prefer this function over distance_to if you need to sort vectors or need the squared distance for some formula.

float distance_to ( Vector3 b )

Returns the distance to b.

float dot ( Vector3 b )

Returns the dot product with b.

Vector3 floor ( )

Returns a new vector with all components rounded down.

Vector3 inverse ( )

Returns the inverse of the vector. This is the same as Vector3( 1.0 / v.x, 1.0 / v.y, 1.0 / v.z )

bool is_normalized ( )

Returns whether the vector is normalized or not.

float length ( )

Returns the length of the vector.

float length_squared ( )

Returns the length of the vector, squared. Prefer this function over “length” if you need to sort vectors or need the squared length for some formula.

Vector3 linear_interpolate ( Vector3 b, float t )

Linearly interpolates the vector to a given one (b), by the given amount (t). (t) should be a float of 0.0-1.0, a percentage of how far along the interpolation is.

int max_axis ( )

Returns AXIS_X, AXIS_Y or AXIS_Z depending on which axis is the largest.

int min_axis ( )

Returns AXIS_X, AXIS_Y or AXIS_Z depending on which axis is the smallest.

Vector3 normalized ( )

Returns a copy of the normalized vector to unit length. This is the same as v / v.length().

Basis outer ( Vector3 b )

Returns the outer product with b.

Vector3 reflect ( Vector3 n )

Reflects the vector along the given plane, specified by its normal vector.

Vector3 rotated ( Vector3 axis, float phi )

Rotates the vector around some axis by phi radians. The axis must be a normalized vector.

Vector3 slide ( Vector3 n )

Slide returns the component of the vector along the given plane, specified by its normal vector.

Vector3 snapped ( float by )

Returns a copy of the vector, snapped to the lowest neared multiple.

Basis to_diagonal_matrix ( )

Returns a diagonal matrix with the vector as main diagonal.

© 2014–2018 Juan Linietsky, Ariel Manzur, Godot Engine contributors