.. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the Vector3.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_Vector3: Vector3 ======= **Category:** Built-In Types Brief Description ----------------- Vector class, which performs basic 3D vector math operations. Member Functions ---------------- +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`Vector3` **(** :ref:`float` x, :ref:`float` y, :ref:`float` z **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`abs` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`angle_to` **(** :ref:`Vector3` to **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`bounce` **(** :ref:`Vector3` n **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`ceil` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`cross` **(** :ref:`Vector3` b **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`cubic_interpolate` **(** :ref:`Vector3` b, :ref:`Vector3` pre_a, :ref:`Vector3` post_b, :ref:`float` t **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`distance_squared_to` **(** :ref:`Vector3` b **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`distance_to` **(** :ref:`Vector3` b **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`dot` **(** :ref:`Vector3` b **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`floor` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`inverse` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_normalized` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`length` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`length_squared` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`linear_interpolate` **(** :ref:`Vector3` b, :ref:`float` t **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`max_axis` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`min_axis` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`normalized` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Basis` | :ref:`outer` **(** :ref:`Vector3` b **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`reflect` **(** :ref:`Vector3` n **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`rotated` **(** :ref:`Vector3` axis, :ref:`float` phi **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`slide` **(** :ref:`Vector3` n **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`snapped` **(** :ref:`float` by **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Basis` | :ref:`to_diagonal_matrix` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Member Variables ---------------- .. _class_Vector3_x: - :ref:`float` **x** - X component of the vector. .. _class_Vector3_y: - :ref:`float` **y** - Y component of the vector. .. _class_Vector3_z: - :ref:`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 --------------------------- .. _class_Vector3_Vector3: - :ref:`Vector3` **Vector3** **(** :ref:`float` x, :ref:`float` y, :ref:`float` z **)** Returns a Vector3 with the given components. .. _class_Vector3_abs: - :ref:`Vector3` **abs** **(** **)** Returns a new vector with all components in absolute values (i.e. positive). .. _class_Vector3_angle_to: - :ref:`float` **angle_to** **(** :ref:`Vector3` to **)** Returns the vector's minimum angle to the vector ``to``. .. _class_Vector3_bounce: - :ref:`Vector3` **bounce** **(** :ref:`Vector3` n **)** Bounce returns the vector "bounced off" from the given plane, specified by its normal vector. .. _class_Vector3_ceil: - :ref:`Vector3` **ceil** **(** **)** Returns a new vector with all components rounded up. .. _class_Vector3_cross: - :ref:`Vector3` **cross** **(** :ref:`Vector3` b **)** Returns the cross product with ``b``. .. _class_Vector3_cubic_interpolate: - :ref:`Vector3` **cubic_interpolate** **(** :ref:`Vector3` b, :ref:`Vector3` pre_a, :ref:`Vector3` post_b, :ref:`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. .. _class_Vector3_distance_squared_to: - :ref:`float` **distance_squared_to** **(** :ref:`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. .. _class_Vector3_distance_to: - :ref:`float` **distance_to** **(** :ref:`Vector3` b **)** Returns the distance to b. .. _class_Vector3_dot: - :ref:`float` **dot** **(** :ref:`Vector3` b **)** Returns the dot product with b. .. _class_Vector3_floor: - :ref:`Vector3` **floor** **(** **)** Returns a new vector with all components rounded down. .. _class_Vector3_inverse: - :ref:`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 ) .. _class_Vector3_is_normalized: - :ref:`bool` **is_normalized** **(** **)** Returns whether the vector is normalized or not. .. _class_Vector3_length: - :ref:`float` **length** **(** **)** Returns the length of the vector. .. _class_Vector3_length_squared: - :ref:`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. .. _class_Vector3_linear_interpolate: - :ref:`Vector3` **linear_interpolate** **(** :ref:`Vector3` b, :ref:`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. .. _class_Vector3_max_axis: - :ref:`int` **max_axis** **(** **)** Returns AXIS_X, AXIS_Y or AXIS_Z depending on which axis is the largest. .. _class_Vector3_min_axis: - :ref:`int` **min_axis** **(** **)** Returns AXIS_X, AXIS_Y or AXIS_Z depending on which axis is the smallest. .. _class_Vector3_normalized: - :ref:`Vector3` **normalized** **(** **)** Returns a copy of the normalized vector to unit length. This is the same as v / v.length(). .. _class_Vector3_outer: - :ref:`Basis` **outer** **(** :ref:`Vector3` b **)** Returns the outer product with b. .. _class_Vector3_reflect: - :ref:`Vector3` **reflect** **(** :ref:`Vector3` n **)** Reflects the vector along the given plane, specified by its normal vector. .. _class_Vector3_rotated: - :ref:`Vector3` **rotated** **(** :ref:`Vector3` axis, :ref:`float` phi **)** Rotates the vector around some axis by phi radians. The axis must be a normalized vector. .. _class_Vector3_slide: - :ref:`Vector3` **slide** **(** :ref:`Vector3` n **)** Slide returns the component of the vector along the given plane, specified by its normal vector. .. _class_Vector3_snapped: - :ref:`Vector3` **snapped** **(** :ref:`float` by **)** Returns a copy of the vector, snapped to the lowest neared multiple. .. _class_Vector3_to_diagonal_matrix: - :ref:`Basis` **to_diagonal_matrix** **(** **)** Returns a diagonal matrix with the vector as main diagonal.