W3cubDocs

/Godot 3.1

Vector3

Category: Built-In Types

Brief Description

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

Properties

float x
float y
float z

Methods

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 )
Vector3 direction_to ( Vector3 b )
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 project ( Vector3 b )
Vector3 reflect ( Vector3 n )
Vector3 rotated ( Vector3 axis, float phi )
Vector3 round ( )
Vector3 slerp ( Vector3 b, float t )
Vector3 slide ( Vector3 n )
Vector3 snapped ( Vector3 by )
Basis to_diagonal_matrix ( )

Constants

  • AXIS_X = 0 — Enumerated value for the X axis. Returned by max_axis and min_axis.
  • AXIS_Y = 1 — Enumerated value for the Y axis.
  • AXIS_Z = 2 — Enumerated value for the Z axis.
  • ZERO = Vector3( 0, 0, 0 ) — Zero vector.
  • ONE = Vector3( 1, 1, 1 ) — One vector.
  • INF = Vector3( inf, inf, inf ) — Infinite vector.
  • LEFT = Vector3( -1, 0, 0 ) — Left unit vector.
  • RIGHT = Vector3( 1, 0, 0 ) — Right unit vector.
  • UP = Vector3( 0, 1, 0 ) — Up unit vector.
  • DOWN = Vector3( 0, -1, 0 ) — Down unit vector.
  • FORWARD = Vector3( 0, 0, -1 ) — Forward unit vector.
  • BACK = Vector3( 0, 0, 1 ) — Back unit vector.

Description

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

Tutorials

Property Descriptions

float x

The vector’s x component. Also accessible by using the index position [0].

float y

The vector’s y component. Also accessible by using the index position [1].

float z

The vector’s z component. Also accessible by using the index position [2].

Method Descriptions

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 minimum angle to the given vector.

Vector3 bounce ( Vector3 n )

Returns the vector “bounced off” from a plane defined by the given normal.

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 is in the range of 0.0 - 1.0, representing the amount of interpolation.

Vector3 direction_to ( Vector3 b )

Returns the normalized vector pointing from this vector to b.

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 true if the vector is normalized.

float length ( )

Returns the vector’s length.

float length_squared ( )

Returns the vector’s length 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 )

Returns the result of the linear interpolation between this vector and b by amount t. t is in the range of 0.0 - 1.0, representing the amount of interpolation..

int max_axis ( )

Returns the axis of the vector’s largest value. See AXIS_* constants.

int min_axis ( )

Returns the axis of the vector’s smallest value. See AXIS_* constants.

Vector3 normalized ( )

Returns the vector scaled to unit length. Equivalent to v / v.length().

Basis outer ( Vector3 b )

Returns the outer product with b.

Vector3 project ( Vector3 b )

Returns the vector projected onto the vector b.

Vector3 reflect ( Vector3 n )

Returns the vector reflected from a plane defined by the given normal.

Vector3 rotated ( Vector3 axis, float phi )

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

Vector3 round ( )

Returns the vector with all components rounded to the nearest integer, with halfway cases rounded away from zero.

Vector3 slerp ( Vector3 b, float t )

Returns the result of SLERP between this vector and b, by amount t. t is in the range of 0.0 - 1.0, representing the amount of interpolation.

Both vectors need to be normalized.

Vector3 slide ( Vector3 n )

Returns the component of the vector along a plane defined by the given normal.

Vector3 snapped ( Vector3 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–2019 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
http://docs.godotengine.org/en/3.1/classes/class_vector3.html