Nebula
Loading...
Searching...
No Matches
Mathf.Vector3 Struct Reference

Detailed Description

Describes a 3D-vector.

Inherits IEquatable< Vector3 >.

Public Member Functions

 Vector3 (float x, float y, float z)
 Constructs a 3d vector with X, Y and Z from three values.
 
 Vector3 (float value)
 Constructs a 3d vector with X, Y and Z set to the same value.
 
 Vector3 (Vector2 value, float z)
 Constructs a 3d vector with X, Y from Vector2 and Z from a scalar.
 
void Ceiling ()
 Round the members of this Vector3 towards positive infinity.
 
override bool Equals (object obj)
 Compares whether current instance is equal to specified Object.
 
bool Equals (Vector3 other)
 Compares whether current instance is equal to specified Vector3.
 
void Floor ()
 Round the members of this Vector3 towards negative infinity.
 
override int GetHashCode ()
 Gets the hash code of this Vector3.
 
float Length ()
 Returns the length of this Vector3.
 
float LengthSquared ()
 Returns the squared length of this Vector3.
 
void Normalize ()
 Turns this Vector3 to a unit vector with the same direction.
 
void Round ()
 Round the members of this Vector3 towards the nearest integer value.
 
override string ToString ()
 Returns a String representation of this Vector3 in the format: {X:[X] Y:[Y] Z:[Z]}.
 
void Deconstruct (out float x, out float y, out float z)
 Deconstruction method for Vector3.
 

Static Public Member Functions

static Vector3 Add (Vector3 value1, Vector3 value2)
 Performs vector addition on value1 and value2 .
 
static void Add (ref Vector3 value1, ref Vector3 value2, out Vector3 result)
 Performs vector addition on value1 and value2 , storing the result of the addition in result .
 
static Vector3 Barycentric (Vector3 value1, Vector3 value2, Vector3 value3, float amount1, float amount2)
 Creates a new Vector3 that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 3d-triangle.
 
static void Barycentric (ref Vector3 value1, ref Vector3 value2, ref Vector3 value3, float amount1, float amount2, out Vector3 result)
 Creates a new Vector3 that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 3d-triangle.
 
static Vector3 CatmullRom (Vector3 value1, Vector3 value2, Vector3 value3, Vector3 value4, float amount)
 Creates a new Vector3 that contains CatmullRom interpolation of the specified vectors.
 
static void CatmullRom (ref Vector3 value1, ref Vector3 value2, ref Vector3 value3, ref Vector3 value4, float amount, out Vector3 result)
 Creates a new Vector3 that contains CatmullRom interpolation of the specified vectors.
 
static Vector3 Ceiling (Vector3 value)
 Creates a new Vector3 that contains members from another vector rounded towards positive infinity.
 
static void Ceiling (ref Vector3 value, out Vector3 result)
 Creates a new Vector3 that contains members from another vector rounded towards positive infinity.
 
static Vector3 Clamp (Vector3 value1, Vector3 min, Vector3 max)
 Clamps the specified value within a range.
 
static void Clamp (ref Vector3 value1, ref Vector3 min, ref Vector3 max, out Vector3 result)
 Clamps the specified value within a range.
 
static Vector3 Cross (Vector3 vector1, Vector3 vector2)
 Computes the cross product of two vectors.
 
static void Cross (ref Vector3 vector1, ref Vector3 vector2, out Vector3 result)
 Computes the cross product of two vectors.
 
static float Distance (Vector3 value1, Vector3 value2)
 Returns the distance between two vectors.
 
static void Distance (ref Vector3 value1, ref Vector3 value2, out float result)
 Returns the distance between two vectors.
 
static float DistanceSquared (Vector3 value1, Vector3 value2)
 Returns the squared distance between two vectors.
 
static void DistanceSquared (ref Vector3 value1, ref Vector3 value2, out float result)
 Returns the squared distance between two vectors.
 
static Vector3 Divide (Vector3 value1, Vector3 value2)
 Divides the components of a Vector3 by the components of another Vector3.
 
static Vector3 Divide (Vector3 value1, float divider)
 Divides the components of a Vector3 by a scalar.
 
static void Divide (ref Vector3 value1, float divider, out Vector3 result)
 Divides the components of a Vector3 by a scalar.
 
static void Divide (ref Vector3 value1, ref Vector3 value2, out Vector3 result)
 Divides the components of a Vector3 by the components of another Vector3.
 
static float Dot (Vector3 value1, Vector3 value2)
 Returns a dot product of two vectors.
 
static void Dot (ref Vector3 value1, ref Vector3 value2, out float result)
 Returns a dot product of two vectors.
 
static Vector3 Floor (Vector3 value)
 Creates a new Vector3 that contains members from another vector rounded towards negative infinity.
 
static void Floor (ref Vector3 value, out Vector3 result)
 Creates a new Vector3 that contains members from another vector rounded towards negative infinity.
 
static Vector3 Hermite (Vector3 value1, Vector3 tangent1, Vector3 value2, Vector3 tangent2, float amount)
 Creates a new Vector3 that contains hermite spline interpolation.
 
static void Hermite (ref Vector3 value1, ref Vector3 tangent1, ref Vector3 value2, ref Vector3 tangent2, float amount, out Vector3 result)
 Creates a new Vector3 that contains hermite spline interpolation.
 
static Vector3 Lerp (Vector3 value1, Vector3 value2, float amount)
 Creates a new Vector3 that contains linear interpolation of the specified vectors.
 
static void Lerp (ref Vector3 value1, ref Vector3 value2, float amount, out Vector3 result)
 Creates a new Vector3 that contains linear interpolation of the specified vectors.
 
static Vector3 LerpPrecise (Vector3 value1, Vector3 value2, float amount)
 Creates a new Vector3 that contains linear interpolation of the specified vectors.
 
static void LerpPrecise (ref Vector3 value1, ref Vector3 value2, float amount, out Vector3 result)
 Creates a new Vector3 that contains linear interpolation of the specified vectors.
 
static Vector3 Max (Vector3 value1, Vector3 value2)
 Creates a new Vector3 that contains a maximal values from the two vectors.
 
static void Max (ref Vector3 value1, ref Vector3 value2, out Vector3 result)
 Creates a new Vector3 that contains a maximal values from the two vectors.
 
static Vector3 Min (Vector3 value1, Vector3 value2)
 Creates a new Vector3 that contains a minimal values from the two vectors.
 
static void Min (ref Vector3 value1, ref Vector3 value2, out Vector3 result)
 Creates a new Vector3 that contains a minimal values from the two vectors.
 
static Vector3 Multiply (Vector3 value1, Vector3 value2)
 Creates a new Vector3 that contains a multiplication of two vectors.
 
static Vector3 Multiply (Vector3 value1, float scaleFactor)
 Creates a new Vector3 that contains a multiplication of Vector3 and a scalar.
 
static void Multiply (ref Vector3 value1, float scaleFactor, out Vector3 result)
 Creates a new Vector3 that contains a multiplication of Vector3 and a scalar.
 
static void Multiply (ref Vector3 value1, ref Vector3 value2, out Vector3 result)
 Creates a new Vector3 that contains a multiplication of two vectors.
 
static Vector3 Negate (Vector3 value)
 Creates a new Vector3 that contains the specified vector inversion.
 
static void Negate (ref Vector3 value, out Vector3 result)
 Creates a new Vector3 that contains the specified vector inversion.
 
static Vector3 Normalize (Vector3 value)
 Creates a new Vector3 that contains a normalized values from another vector.
 
static void Normalize (ref Vector3 value, out Vector3 result)
 Creates a new Vector3 that contains a normalized values from another vector.
 
static Vector3 Reflect (Vector3 vector, Vector3 normal)
 Creates a new Vector3 that contains reflect vector of the given vector and normal.
 
static void Reflect (ref Vector3 vector, ref Vector3 normal, out Vector3 result)
 Creates a new Vector3 that contains reflect vector of the given vector and normal.
 
static Vector3 Round (Vector3 value)
 Creates a new Vector3 that contains members from another vector rounded to the nearest integer value.
 
static void Round (ref Vector3 value, out Vector3 result)
 Creates a new Vector3 that contains members from another vector rounded to the nearest integer value.
 
static Vector3 SmoothStep (Vector3 value1, Vector3 value2, float amount)
 Creates a new Vector3 that contains cubic interpolation of the specified vectors.
 
static void SmoothStep (ref Vector3 value1, ref Vector3 value2, float amount, out Vector3 result)
 Creates a new Vector3 that contains cubic interpolation of the specified vectors.
 
static Vector3 Subtract (Vector3 value1, Vector3 value2)
 Creates a new Vector3 that contains subtraction of on Vector3 from a another.
 
static void Subtract (ref Vector3 value1, ref Vector3 value2, out Vector3 result)
 Creates a new Vector3 that contains subtraction of on Vector3 from a another.
 
static Vector3 Transform (Vector3 position, Matrix matrix)
 Creates a new Vector3 that contains a transformation of 3d-vector by the specified Matrix.
 
static void Transform (ref Vector3 position, ref Matrix matrix, out Vector3 result)
 Creates a new Vector3 that contains a transformation of 3d-vector by the specified Matrix.
 
static Vector3 Transform (Vector3 value, Quaternion rotation)
 Creates a new Vector3 that contains a transformation of 3d-vector by the specified Quaternion, representing the rotation.
 
static void Transform (ref Vector3 value, ref Quaternion rotation, out Vector3 result)
 Creates a new Vector3 that contains a transformation of 3d-vector by the specified Quaternion, representing the rotation.
 
static void Transform (Vector3[] sourceArray, int sourceIndex, ref Matrix matrix, Vector3[] destinationArray, int destinationIndex, int length)
 Apply transformation on vectors within array of Vector3 by the specified Matrix and places the results in an another array.
 
static void Transform (Vector3[] sourceArray, int sourceIndex, ref Quaternion rotation, Vector3[] destinationArray, int destinationIndex, int length)
 Apply transformation on vectors within array of Vector3 by the specified Quaternion and places the results in an another array.
 
static void Transform (Vector3[] sourceArray, ref Matrix matrix, Vector3[] destinationArray)
 Apply transformation on all vectors within array of Vector3 by the specified Matrix and places the results in an another array.
 
static void Transform (Vector3[] sourceArray, ref Quaternion rotation, Vector3[] destinationArray)
 Apply transformation on all vectors within array of Vector3 by the specified Quaternion and places the results in an another array.
 
static Vector3 TransformNormal (Vector3 normal, Matrix matrix)
 Creates a new Vector3 that contains a transformation of the specified normal by the specified Matrix.
 
static void TransformNormal (ref Vector3 normal, ref Matrix matrix, out Vector3 result)
 Creates a new Vector3 that contains a transformation of the specified normal by the specified Matrix.
 
static void TransformNormal (Vector3[] sourceArray, int sourceIndex, ref Matrix matrix, Vector3[] destinationArray, int destinationIndex, int length)
 Apply transformation on normals within array of Vector3 by the specified Matrix and places the results in an another array.
 
static void TransformNormal (Vector3[] sourceArray, ref Matrix matrix, Vector3[] destinationArray)
 Apply transformation on all normals within array of Vector3 by the specified Matrix and places the results in an another array.
 
static bool operator== (Vector3 value1, Vector3 value2)
 Compares whether two Vector3 instances are equal.
 
static bool operator!= (Vector3 value1, Vector3 value2)
 Compares whether two Vector3 instances are not equal.
 
static Vector3 operator+ (Vector3 value1, Vector3 value2)
 Adds two vectors.
 
static Vector3 operator- (Vector3 value)
 Inverts values in the specified Vector3.
 
static Vector3 operator- (Vector3 value1, Vector3 value2)
 Subtracts a Vector3 from a Vector3.
 
static Vector3 operator* (Vector3 value1, Vector3 value2)
 Multiplies the components of two vectors by each other.
 
static Vector3 operator* (Vector3 value, float scaleFactor)
 Multiplies the components of vector by a scalar.
 
static Vector3 operator* (float scaleFactor, Vector3 value)
 Multiplies the components of vector by a scalar.
 
static Vector3 operator/ (Vector3 value1, Vector3 value2)
 Divides the components of a Vector3 by the components of another Vector3.
 
static Vector3 operator/ (Vector3 value1, float divider)
 Divides the components of a Vector3 by a scalar.
 

Public Attributes

float X
 The x coordinate of this Vector3.
 
float Y
 The y coordinate of this Vector3.
 
float Z
 The z coordinate of this Vector3.
 

Properties

static Vector3 Zero [get]
 Returns a Vector3 with components 0, 0, 0.
 
static Vector3 One [get]
 Returns a Vector3 with components 1, 1, 1.
 
static Vector3 UnitX [get]
 Returns a Vector3 with components 1, 0, 0.
 
static Vector3 UnitY [get]
 Returns a Vector3 with components 0, 1, 0.
 
static Vector3 UnitZ [get]
 Returns a Vector3 with components 0, 0, 1.
 
static Vector3 Up [get]
 Returns a Vector3 with components 0, 1, 0.
 
static Vector3 Down [get]
 Returns a Vector3 with components 0, -1, 0.
 
static Vector3 Right [get]
 Returns a Vector3 with components 1, 0, 0.
 
static Vector3 Left [get]
 Returns a Vector3 with components -1, 0, 0.
 
static Vector3 Forward [get]
 Returns a Vector3 with components 0, 0, -1.
 
static Vector3 Backward [get]
 Returns a Vector3 with components 0, 0, 1.
 
string DebugDisplayString [get]
 

Static Private Attributes

static readonly Vector3 zero = new Vector3(0f, 0f, 0f)
 
static readonly Vector3 one = new Vector3(1f, 1f, 1f)
 
static readonly Vector3 unitX = new Vector3(1f, 0f, 0f)
 
static readonly Vector3 unitY = new Vector3(0f, 1f, 0f)
 
static readonly Vector3 unitZ = new Vector3(0f, 0f, 1f)
 
static readonly Vector3 up = new Vector3(0f, 1f, 0f)
 
static readonly Vector3 down = new Vector3(0f, -1f, 0f)
 
static readonly Vector3 right = new Vector3(1f, 0f, 0f)
 
static readonly Vector3 left = new Vector3(-1f, 0f, 0f)
 
static readonly Vector3 forward = new Vector3(0f, 0f, -1f)
 
static readonly Vector3 backward = new Vector3(0f, 0f, 1f)
 

Constructor & Destructor Documentation

◆ Vector3() [1/3]

Mathf.Vector3.Vector3 ( float x,
float y,
float z )
inline

Constructs a 3d vector with X, Y and Z from three values.

Parameters
xThe x coordinate in 3d-space.
yThe y coordinate in 3d-space.
zThe z coordinate in 3d-space.

◆ Vector3() [2/3]

Mathf.Vector3.Vector3 ( float value)
inline

Constructs a 3d vector with X, Y and Z set to the same value.

Parameters
valueThe x, y and z coordinates in 3d-space.

◆ Vector3() [3/3]

Mathf.Vector3.Vector3 ( Vector2 value,
float z )
inline

Constructs a 3d vector with X, Y from Vector2 and Z from a scalar.

Parameters
valueThe x and y coordinates in 3d-space.
zThe z coordinate in 3d-space.

Member Function Documentation

◆ Add() [1/2]

static void Mathf.Vector3.Add ( ref Vector3 value1,
ref Vector3 value2,
out Vector3 result )
inlinestatic

Performs vector addition on value1 and value2 , storing the result of the addition in result .

Parameters
value1The first vector to add.
value2The second vector to add.
resultThe result of the vector addition.

◆ Add() [2/2]

static Vector3 Mathf.Vector3.Add ( Vector3 value1,
Vector3 value2 )
inlinestatic

Performs vector addition on value1 and value2 .

Parameters
value1The first vector to add.
value2The second vector to add.
Returns
The result of the vector addition.

◆ Barycentric() [1/2]

static void Mathf.Vector3.Barycentric ( ref Vector3 value1,
ref Vector3 value2,
ref Vector3 value3,
float amount1,
float amount2,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 3d-triangle.

Parameters
value1The first vector of 3d-triangle.
value2The second vector of 3d-triangle.
value3The third vector of 3d-triangle.
amount1Barycentric scalar b2 which represents a weighting factor towards second vector of 3d-triangle.
amount2Barycentric scalar b3 which represents a weighting factor towards third vector of 3d-triangle.
resultThe cartesian translation of barycentric coordinates as an output parameter.

◆ Barycentric() [2/2]

static Vector3 Mathf.Vector3.Barycentric ( Vector3 value1,
Vector3 value2,
Vector3 value3,
float amount1,
float amount2 )
inlinestatic

Creates a new Vector3 that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 3d-triangle.

Parameters
value1The first vector of 3d-triangle.
value2The second vector of 3d-triangle.
value3The third vector of 3d-triangle.
amount1Barycentric scalar b2 which represents a weighting factor towards second vector of 3d-triangle.
amount2Barycentric scalar b3 which represents a weighting factor towards third vector of 3d-triangle.
Returns
The cartesian translation of barycentric coordinates.

◆ CatmullRom() [1/2]

static void Mathf.Vector3.CatmullRom ( ref Vector3 value1,
ref Vector3 value2,
ref Vector3 value3,
ref Vector3 value4,
float amount,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains CatmullRom interpolation of the specified vectors.

Parameters
value1The first vector in interpolation.
value2The second vector in interpolation.
value3The third vector in interpolation.
value4The fourth vector in interpolation.
amountWeighting factor.
resultThe result of CatmullRom interpolation as an output parameter.

◆ CatmullRom() [2/2]

static Vector3 Mathf.Vector3.CatmullRom ( Vector3 value1,
Vector3 value2,
Vector3 value3,
Vector3 value4,
float amount )
inlinestatic

Creates a new Vector3 that contains CatmullRom interpolation of the specified vectors.

Parameters
value1The first vector in interpolation.
value2The second vector in interpolation.
value3The third vector in interpolation.
value4The fourth vector in interpolation.
amountWeighting factor.
Returns
The result of CatmullRom interpolation.

◆ Ceiling() [1/3]

void Mathf.Vector3.Ceiling ( )
inline

Round the members of this Vector3 towards positive infinity.

◆ Ceiling() [2/3]

static void Mathf.Vector3.Ceiling ( ref Vector3 value,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains members from another vector rounded towards positive infinity.

Parameters
valueSource Vector3.
resultThe rounded Vector3.

◆ Ceiling() [3/3]

static Vector3 Mathf.Vector3.Ceiling ( Vector3 value)
inlinestatic

Creates a new Vector3 that contains members from another vector rounded towards positive infinity.

Parameters
valueSource Vector3.
Returns
The rounded Vector3.

◆ Clamp() [1/2]

static void Mathf.Vector3.Clamp ( ref Vector3 value1,
ref Vector3 min,
ref Vector3 max,
out Vector3 result )
inlinestatic

Clamps the specified value within a range.

Parameters
value1The value to clamp.
minThe min value.
maxThe max value.
resultThe clamped value as an output parameter.

◆ Clamp() [2/2]

static Vector3 Mathf.Vector3.Clamp ( Vector3 value1,
Vector3 min,
Vector3 max )
inlinestatic

Clamps the specified value within a range.

Parameters
value1The value to clamp.
minThe min value.
maxThe max value.
Returns
The clamped value.

◆ Cross() [1/2]

static void Mathf.Vector3.Cross ( ref Vector3 vector1,
ref Vector3 vector2,
out Vector3 result )
inlinestatic

Computes the cross product of two vectors.

Parameters
vector1The first vector.
vector2The second vector.
resultThe cross product of two vectors as an output parameter.

◆ Cross() [2/2]

static Vector3 Mathf.Vector3.Cross ( Vector3 vector1,
Vector3 vector2 )
inlinestatic

Computes the cross product of two vectors.

Parameters
vector1The first vector.
vector2The second vector.
Returns
The cross product of two vectors.

◆ Deconstruct()

void Mathf.Vector3.Deconstruct ( out float x,
out float y,
out float z )
inline

Deconstruction method for Vector3.

Parameters
x
y
z

◆ Distance() [1/2]

static void Mathf.Vector3.Distance ( ref Vector3 value1,
ref Vector3 value2,
out float result )
inlinestatic

Returns the distance between two vectors.

Parameters
value1The first vector.
value2The second vector.
resultThe distance between two vectors as an output parameter.

◆ Distance() [2/2]

static float Mathf.Vector3.Distance ( Vector3 value1,
Vector3 value2 )
inlinestatic

Returns the distance between two vectors.

Parameters
value1The first vector.
value2The second vector.
Returns
The distance between two vectors.

◆ DistanceSquared() [1/2]

static void Mathf.Vector3.DistanceSquared ( ref Vector3 value1,
ref Vector3 value2,
out float result )
inlinestatic

Returns the squared distance between two vectors.

Parameters
value1The first vector.
value2The second vector.
resultThe squared distance between two vectors as an output parameter.

◆ DistanceSquared() [2/2]

static float Mathf.Vector3.DistanceSquared ( Vector3 value1,
Vector3 value2 )
inlinestatic

Returns the squared distance between two vectors.

Parameters
value1The first vector.
value2The second vector.
Returns
The squared distance between two vectors.

◆ Divide() [1/4]

static void Mathf.Vector3.Divide ( ref Vector3 value1,
float divider,
out Vector3 result )
inlinestatic

Divides the components of a Vector3 by a scalar.

Parameters
value1Source Vector3.
dividerDivisor scalar.
resultThe result of dividing a vector by a scalar as an output parameter.

◆ Divide() [2/4]

static void Mathf.Vector3.Divide ( ref Vector3 value1,
ref Vector3 value2,
out Vector3 result )
inlinestatic

Divides the components of a Vector3 by the components of another Vector3.

Parameters
value1Source Vector3.
value2Divisor Vector3.
resultThe result of dividing the vectors as an output parameter.

◆ Divide() [3/4]

static Vector3 Mathf.Vector3.Divide ( Vector3 value1,
float divider )
inlinestatic

Divides the components of a Vector3 by a scalar.

Parameters
value1Source Vector3.
dividerDivisor scalar.
Returns
The result of dividing a vector by a scalar.

◆ Divide() [4/4]

static Vector3 Mathf.Vector3.Divide ( Vector3 value1,
Vector3 value2 )
inlinestatic

Divides the components of a Vector3 by the components of another Vector3.

Parameters
value1Source Vector3.
value2Divisor Vector3.
Returns
The result of dividing the vectors.

◆ Dot() [1/2]

static void Mathf.Vector3.Dot ( ref Vector3 value1,
ref Vector3 value2,
out float result )
inlinestatic

Returns a dot product of two vectors.

Parameters
value1The first vector.
value2The second vector.
resultThe dot product of two vectors as an output parameter.

◆ Dot() [2/2]

static float Mathf.Vector3.Dot ( Vector3 value1,
Vector3 value2 )
inlinestatic

Returns a dot product of two vectors.

Parameters
value1The first vector.
value2The second vector.
Returns
The dot product of two vectors.

◆ Equals() [1/2]

override bool Mathf.Vector3.Equals ( object obj)
inline

Compares whether current instance is equal to specified Object.

Parameters
objThe Object to compare.
Returns
true if the instances are equal; false otherwise.

◆ Equals() [2/2]

bool Mathf.Vector3.Equals ( Vector3 other)
inline

Compares whether current instance is equal to specified Vector3.

Parameters
otherThe Vector3 to compare.
Returns
true if the instances are equal; false otherwise.

◆ Floor() [1/3]

void Mathf.Vector3.Floor ( )
inline

Round the members of this Vector3 towards negative infinity.

◆ Floor() [2/3]

static void Mathf.Vector3.Floor ( ref Vector3 value,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains members from another vector rounded towards negative infinity.

Parameters
valueSource Vector3.
resultThe rounded Vector3.

◆ Floor() [3/3]

static Vector3 Mathf.Vector3.Floor ( Vector3 value)
inlinestatic

Creates a new Vector3 that contains members from another vector rounded towards negative infinity.

Parameters
valueSource Vector3.
Returns
The rounded Vector3.

◆ GetHashCode()

override int Mathf.Vector3.GetHashCode ( )
inline

Gets the hash code of this Vector3.

Returns
Hash code of this Vector3.

◆ Hermite() [1/2]

static void Mathf.Vector3.Hermite ( ref Vector3 value1,
ref Vector3 tangent1,
ref Vector3 value2,
ref Vector3 tangent2,
float amount,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains hermite spline interpolation.

Parameters
value1The first position vector.
tangent1The first tangent vector.
value2The second position vector.
tangent2The second tangent vector.
amountWeighting factor.
resultThe hermite spline interpolation vector as an output parameter.

◆ Hermite() [2/2]

static Vector3 Mathf.Vector3.Hermite ( Vector3 value1,
Vector3 tangent1,
Vector3 value2,
Vector3 tangent2,
float amount )
inlinestatic

Creates a new Vector3 that contains hermite spline interpolation.

Parameters
value1The first position vector.
tangent1The first tangent vector.
value2The second position vector.
tangent2The second tangent vector.
amountWeighting factor.
Returns
The hermite spline interpolation vector.

◆ Length()

float Mathf.Vector3.Length ( )
inline

Returns the length of this Vector3.

Returns
The length of this Vector3.

◆ LengthSquared()

float Mathf.Vector3.LengthSquared ( )
inline

Returns the squared length of this Vector3.

Returns
The squared length of this Vector3.

◆ Lerp() [1/2]

static void Mathf.Vector3.Lerp ( ref Vector3 value1,
ref Vector3 value2,
float amount,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains linear interpolation of the specified vectors.

Parameters
value1The first vector.
value2The second vector.
amountWeighting value(between 0.0 and 1.0).
resultThe result of linear interpolation of the specified vectors as an output parameter.

◆ Lerp() [2/2]

static Vector3 Mathf.Vector3.Lerp ( Vector3 value1,
Vector3 value2,
float amount )
inlinestatic

Creates a new Vector3 that contains linear interpolation of the specified vectors.

Parameters
value1The first vector.
value2The second vector.
amountWeighting value(between 0.0 and 1.0).
Returns
The result of linear interpolation of the specified vectors.

◆ LerpPrecise() [1/2]

static void Mathf.Vector3.LerpPrecise ( ref Vector3 value1,
ref Vector3 value2,
float amount,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains linear interpolation of the specified vectors.

Uses MathHelper.LerpPrecise on MathHelper for the interpolation. Less efficient but more precise compared to Vector3.Lerp(ref Vector3, ref Vector3, float, out Vector3). See remarks section of MathHelper.LerpPrecise on MathHelper for more info.

Parameters
value1The first vector.
value2The second vector.
amountWeighting value(between 0.0 and 1.0).
resultThe result of linear interpolation of the specified vectors as an output parameter.

◆ LerpPrecise() [2/2]

static Vector3 Mathf.Vector3.LerpPrecise ( Vector3 value1,
Vector3 value2,
float amount )
inlinestatic

Creates a new Vector3 that contains linear interpolation of the specified vectors.

Uses MathHelper.LerpPrecise on MathHelper for the interpolation. Less efficient but more precise compared to Vector3.Lerp(Vector3, Vector3, float). See remarks section of MathHelper.LerpPrecise on MathHelper for more info.

Parameters
value1The first vector.
value2The second vector.
amountWeighting value(between 0.0 and 1.0).
Returns
The result of linear interpolation of the specified vectors.

◆ Max() [1/2]

static void Mathf.Vector3.Max ( ref Vector3 value1,
ref Vector3 value2,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains a maximal values from the two vectors.

Parameters
value1The first vector.
value2The second vector.
resultThe Vector3 with maximal values from the two vectors as an output parameter.

◆ Max() [2/2]

static Vector3 Mathf.Vector3.Max ( Vector3 value1,
Vector3 value2 )
inlinestatic

Creates a new Vector3 that contains a maximal values from the two vectors.

Parameters
value1The first vector.
value2The second vector.
Returns
The Vector3 with maximal values from the two vectors.

◆ Min() [1/2]

static void Mathf.Vector3.Min ( ref Vector3 value1,
ref Vector3 value2,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains a minimal values from the two vectors.

Parameters
value1The first vector.
value2The second vector.
resultThe Vector3 with minimal values from the two vectors as an output parameter.

◆ Min() [2/2]

static Vector3 Mathf.Vector3.Min ( Vector3 value1,
Vector3 value2 )
inlinestatic

Creates a new Vector3 that contains a minimal values from the two vectors.

Parameters
value1The first vector.
value2The second vector.
Returns
The Vector3 with minimal values from the two vectors.

◆ Multiply() [1/4]

static void Mathf.Vector3.Multiply ( ref Vector3 value1,
float scaleFactor,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains a multiplication of Vector3 and a scalar.

Parameters
value1Source Vector3.
scaleFactorScalar value.
resultThe result of the multiplication with a scalar as an output parameter.

◆ Multiply() [2/4]

static void Mathf.Vector3.Multiply ( ref Vector3 value1,
ref Vector3 value2,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains a multiplication of two vectors.

Parameters
value1Source Vector3.
value2Source Vector3.
resultThe result of the vector multiplication as an output parameter.

◆ Multiply() [3/4]

static Vector3 Mathf.Vector3.Multiply ( Vector3 value1,
float scaleFactor )
inlinestatic

Creates a new Vector3 that contains a multiplication of Vector3 and a scalar.

Parameters
value1Source Vector3.
scaleFactorScalar value.
Returns
The result of the vector multiplication with a scalar.

◆ Multiply() [4/4]

static Vector3 Mathf.Vector3.Multiply ( Vector3 value1,
Vector3 value2 )
inlinestatic

Creates a new Vector3 that contains a multiplication of two vectors.

Parameters
value1Source Vector3.
value2Source Vector3.
Returns
The result of the vector multiplication.

◆ Negate() [1/2]

static void Mathf.Vector3.Negate ( ref Vector3 value,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains the specified vector inversion.

Parameters
valueSource Vector3.
resultThe result of the vector inversion as an output parameter.

◆ Negate() [2/2]

static Vector3 Mathf.Vector3.Negate ( Vector3 value)
inlinestatic

Creates a new Vector3 that contains the specified vector inversion.

Parameters
valueSource Vector3.
Returns
The result of the vector inversion.

◆ Normalize() [1/3]

void Mathf.Vector3.Normalize ( )
inline

Turns this Vector3 to a unit vector with the same direction.

◆ Normalize() [2/3]

static void Mathf.Vector3.Normalize ( ref Vector3 value,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains a normalized values from another vector.

Parameters
valueSource Vector3.
resultUnit vector as an output parameter.

◆ Normalize() [3/3]

static Vector3 Mathf.Vector3.Normalize ( Vector3 value)
inlinestatic

Creates a new Vector3 that contains a normalized values from another vector.

Parameters
valueSource Vector3.
Returns
Unit vector.

◆ operator!=()

static bool Mathf.Vector3.operator!= ( Vector3 value1,
Vector3 value2 )
inlinestatic

Compares whether two Vector3 instances are not equal.

Parameters
value1Vector3 instance on the left of the not equal sign.
value2Vector3 instance on the right of the not equal sign.
Returns
true if the instances are not equal; false otherwise.


◆ operator*() [1/3]

static Vector3 Mathf.Vector3.operator* ( float scaleFactor,
Vector3 value )
inlinestatic

Multiplies the components of vector by a scalar.

Parameters
scaleFactorScalar value on the left of the mul sign.
valueSource Vector3 on the right of the mul sign.
Returns
Result of the vector multiplication with a scalar.

◆ operator*() [2/3]

static Vector3 Mathf.Vector3.operator* ( Vector3 value,
float scaleFactor )
inlinestatic

Multiplies the components of vector by a scalar.

Parameters
valueSource Vector3 on the left of the mul sign.
scaleFactorScalar value on the right of the mul sign.
Returns
Result of the vector multiplication with a scalar.

◆ operator*() [3/3]

static Vector3 Mathf.Vector3.operator* ( Vector3 value1,
Vector3 value2 )
inlinestatic

Multiplies the components of two vectors by each other.

Parameters
value1Source Vector3 on the left of the mul sign.
value2Source Vector3 on the right of the mul sign.
Returns
Result of the vector multiplication.

◆ operator+()

static Vector3 Mathf.Vector3.operator+ ( Vector3 value1,
Vector3 value2 )
inlinestatic

Adds two vectors.

Parameters
value1Source Vector3 on the left of the add sign.
value2Source Vector3 on the right of the add sign.
Returns
Sum of the vectors.

◆ operator-() [1/2]

static Vector3 Mathf.Vector3.operator- ( Vector3 value)
inlinestatic

Inverts values in the specified Vector3.

Parameters
valueSource Vector3 on the right of the sub sign.
Returns
Result of the inversion.

◆ operator-() [2/2]

static Vector3 Mathf.Vector3.operator- ( Vector3 value1,
Vector3 value2 )
inlinestatic

Subtracts a Vector3 from a Vector3.

Parameters
value1Source Vector3 on the left of the sub sign.
value2Source Vector3 on the right of the sub sign.
Returns
Result of the vector subtraction.

◆ operator/() [1/2]

static Vector3 Mathf.Vector3.operator/ ( Vector3 value1,
float divider )
inlinestatic

Divides the components of a Vector3 by a scalar.

Parameters
value1Source Vector3 on the left of the div sign.
dividerDivisor scalar on the right of the div sign.
Returns
The result of dividing a vector by a scalar.

◆ operator/() [2/2]

static Vector3 Mathf.Vector3.operator/ ( Vector3 value1,
Vector3 value2 )
inlinestatic

Divides the components of a Vector3 by the components of another Vector3.

Parameters
value1Source Vector3 on the left of the div sign.
value2Divisor Vector3 on the right of the div sign.
Returns
The result of dividing the vectors.

◆ operator==()

static bool Mathf.Vector3.operator== ( Vector3 value1,
Vector3 value2 )
inlinestatic

Compares whether two Vector3 instances are equal.

Parameters
value1Vector3 instance on the left of the equal sign.
value2Vector3 instance on the right of the equal sign.
Returns
true if the instances are equal; false otherwise.

◆ Reflect() [1/2]

static void Mathf.Vector3.Reflect ( ref Vector3 vector,
ref Vector3 normal,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains reflect vector of the given vector and normal.

Parameters
vectorSource Vector3.
normalReflection normal.
resultReflected vector as an output parameter.

◆ Reflect() [2/2]

static Vector3 Mathf.Vector3.Reflect ( Vector3 vector,
Vector3 normal )
inlinestatic

Creates a new Vector3 that contains reflect vector of the given vector and normal.

Parameters
vectorSource Vector3.
normalReflection normal.
Returns
Reflected vector.

◆ Round() [1/3]

void Mathf.Vector3.Round ( )
inline

Round the members of this Vector3 towards the nearest integer value.

◆ Round() [2/3]

static void Mathf.Vector3.Round ( ref Vector3 value,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains members from another vector rounded to the nearest integer value.

Parameters
valueSource Vector3.
resultThe rounded Vector3.

◆ Round() [3/3]

static Vector3 Mathf.Vector3.Round ( Vector3 value)
inlinestatic

Creates a new Vector3 that contains members from another vector rounded to the nearest integer value.

Parameters
valueSource Vector3.
Returns
The rounded Vector3.

◆ SmoothStep() [1/2]

static void Mathf.Vector3.SmoothStep ( ref Vector3 value1,
ref Vector3 value2,
float amount,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains cubic interpolation of the specified vectors.

Parameters
value1Source Vector3.
value2Source Vector3.
amountWeighting value.
resultCubic interpolation of the specified vectors as an output parameter.

◆ SmoothStep() [2/2]

static Vector3 Mathf.Vector3.SmoothStep ( Vector3 value1,
Vector3 value2,
float amount )
inlinestatic

Creates a new Vector3 that contains cubic interpolation of the specified vectors.

Parameters
value1Source Vector3.
value2Source Vector3.
amountWeighting value.
Returns
Cubic interpolation of the specified vectors.

◆ Subtract() [1/2]

static void Mathf.Vector3.Subtract ( ref Vector3 value1,
ref Vector3 value2,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains subtraction of on Vector3 from a another.

Parameters
value1Source Vector3.
value2Source Vector3.
resultThe result of the vector subtraction as an output parameter.

◆ Subtract() [2/2]

static Vector3 Mathf.Vector3.Subtract ( Vector3 value1,
Vector3 value2 )
inlinestatic

Creates a new Vector3 that contains subtraction of on Vector3 from a another.

Parameters
value1Source Vector3.
value2Source Vector3.
Returns
The result of the vector subtraction.

◆ ToString()

override string Mathf.Vector3.ToString ( )
inline

Returns a String representation of this Vector3 in the format: {X:[X] Y:[Y] Z:[Z]}.

Returns
A String representation of this Vector3.

◆ Transform() [1/8]

static void Mathf.Vector3.Transform ( ref Vector3 position,
ref Matrix matrix,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains a transformation of 3d-vector by the specified Matrix.

Parameters
positionSource Vector3.
matrixThe transformation Matrix.
resultTransformed Vector3 as an output parameter.

◆ Transform() [2/8]

static void Mathf.Vector3.Transform ( ref Vector3 value,
ref Quaternion rotation,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains a transformation of 3d-vector by the specified Quaternion, representing the rotation.

Parameters
valueSource Vector3.
rotationThe Quaternion which contains rotation transformation.
resultTransformed Vector3 as an output parameter.

◆ Transform() [3/8]

static Vector3 Mathf.Vector3.Transform ( Vector3 position,
Matrix matrix )
inlinestatic

Creates a new Vector3 that contains a transformation of 3d-vector by the specified Matrix.

Parameters
positionSource Vector3.
matrixThe transformation Matrix.
Returns
Transformed Vector3.

◆ Transform() [4/8]

static Vector3 Mathf.Vector3.Transform ( Vector3 value,
Quaternion rotation )
inlinestatic

Creates a new Vector3 that contains a transformation of 3d-vector by the specified Quaternion, representing the rotation.

Parameters
valueSource Vector3.
rotationThe Quaternion which contains rotation transformation.
Returns
Transformed Vector3.

◆ Transform() [5/8]

static void Mathf.Vector3.Transform ( Vector3[] sourceArray,
int sourceIndex,
ref Matrix matrix,
Vector3[] destinationArray,
int destinationIndex,
int length )
inlinestatic

Apply transformation on vectors within array of Vector3 by the specified Matrix and places the results in an another array.

Parameters
sourceArraySource array.
sourceIndexThe starting index of transformation in the source array.
matrixThe transformation Matrix.
destinationArrayDestination array.
destinationIndexThe starting index in the destination array, where the first Vector3 should be written.
lengthThe number of vectors to be transformed.

◆ Transform() [6/8]

static void Mathf.Vector3.Transform ( Vector3[] sourceArray,
int sourceIndex,
ref Quaternion rotation,
Vector3[] destinationArray,
int destinationIndex,
int length )
inlinestatic

Apply transformation on vectors within array of Vector3 by the specified Quaternion and places the results in an another array.

Parameters
sourceArraySource array.
sourceIndexThe starting index of transformation in the source array.
rotationThe Quaternion which contains rotation transformation.
destinationArrayDestination array.
destinationIndexThe starting index in the destination array, where the first Vector3 should be written.
lengthThe number of vectors to be transformed.

◆ Transform() [7/8]

static void Mathf.Vector3.Transform ( Vector3[] sourceArray,
ref Matrix matrix,
Vector3[] destinationArray )
inlinestatic

Apply transformation on all vectors within array of Vector3 by the specified Matrix and places the results in an another array.

Parameters
sourceArraySource array.
matrixThe transformation Matrix.
destinationArrayDestination array.

◆ Transform() [8/8]

static void Mathf.Vector3.Transform ( Vector3[] sourceArray,
ref Quaternion rotation,
Vector3[] destinationArray )
inlinestatic

Apply transformation on all vectors within array of Vector3 by the specified Quaternion and places the results in an another array.

Parameters
sourceArraySource array.
rotationThe Quaternion which contains rotation transformation.
destinationArrayDestination array.

◆ TransformNormal() [1/4]

static void Mathf.Vector3.TransformNormal ( ref Vector3 normal,
ref Matrix matrix,
out Vector3 result )
inlinestatic

Creates a new Vector3 that contains a transformation of the specified normal by the specified Matrix.

Parameters
normalSource Vector3 which represents a normal vector.
matrixThe transformation Matrix.
resultTransformed normal as an output parameter.

◆ TransformNormal() [2/4]

static Vector3 Mathf.Vector3.TransformNormal ( Vector3 normal,
Matrix matrix )
inlinestatic

Creates a new Vector3 that contains a transformation of the specified normal by the specified Matrix.

Parameters
normalSource Vector3 which represents a normal vector.
matrixThe transformation Matrix.
Returns
Transformed normal.

◆ TransformNormal() [3/4]

static void Mathf.Vector3.TransformNormal ( Vector3[] sourceArray,
int sourceIndex,
ref Matrix matrix,
Vector3[] destinationArray,
int destinationIndex,
int length )
inlinestatic

Apply transformation on normals within array of Vector3 by the specified Matrix and places the results in an another array.

Parameters
sourceArraySource array.
sourceIndexThe starting index of transformation in the source array.
matrixThe transformation Matrix.
destinationArrayDestination array.
destinationIndexThe starting index in the destination array, where the first Vector3 should be written.
lengthThe number of normals to be transformed.

◆ TransformNormal() [4/4]

static void Mathf.Vector3.TransformNormal ( Vector3[] sourceArray,
ref Matrix matrix,
Vector3[] destinationArray )
inlinestatic

Apply transformation on all normals within array of Vector3 by the specified Matrix and places the results in an another array.

Parameters
sourceArraySource array.
matrixThe transformation Matrix.
destinationArrayDestination array.

Member Data Documentation

◆ backward

readonly Vector3 Mathf.Vector3.backward = new Vector3(0f, 0f, 1f)
staticprivate

◆ down

readonly Vector3 Mathf.Vector3.down = new Vector3(0f, -1f, 0f)
staticprivate

◆ forward

readonly Vector3 Mathf.Vector3.forward = new Vector3(0f, 0f, -1f)
staticprivate

◆ left

readonly Vector3 Mathf.Vector3.left = new Vector3(-1f, 0f, 0f)
staticprivate

◆ one

readonly Vector3 Mathf.Vector3.one = new Vector3(1f, 1f, 1f)
staticprivate

◆ right

readonly Vector3 Mathf.Vector3.right = new Vector3(1f, 0f, 0f)
staticprivate

◆ unitX

readonly Vector3 Mathf.Vector3.unitX = new Vector3(1f, 0f, 0f)
staticprivate

◆ unitY

readonly Vector3 Mathf.Vector3.unitY = new Vector3(0f, 1f, 0f)
staticprivate

◆ unitZ

readonly Vector3 Mathf.Vector3.unitZ = new Vector3(0f, 0f, 1f)
staticprivate

◆ up

readonly Vector3 Mathf.Vector3.up = new Vector3(0f, 1f, 0f)
staticprivate

◆ X

float Mathf.Vector3.X

The x coordinate of this Vector3.

◆ Y

float Mathf.Vector3.Y

The y coordinate of this Vector3.

◆ Z

float Mathf.Vector3.Z

The z coordinate of this Vector3.

◆ zero

readonly Vector3 Mathf.Vector3.zero = new Vector3(0f, 0f, 0f)
staticprivate

Property Documentation

◆ Backward

Vector3 Mathf.Vector3.Backward
staticget

Returns a Vector3 with components 0, 0, 1.

◆ DebugDisplayString

string Mathf.Vector3.DebugDisplayString
getpackage

◆ Down

Vector3 Mathf.Vector3.Down
staticget

Returns a Vector3 with components 0, -1, 0.

◆ Forward

Vector3 Mathf.Vector3.Forward
staticget

Returns a Vector3 with components 0, 0, -1.

◆ Left

Vector3 Mathf.Vector3.Left
staticget

Returns a Vector3 with components -1, 0, 0.

◆ One

Vector3 Mathf.Vector3.One
staticget

Returns a Vector3 with components 1, 1, 1.

◆ Right

Vector3 Mathf.Vector3.Right
staticget

Returns a Vector3 with components 1, 0, 0.

◆ UnitX

Vector3 Mathf.Vector3.UnitX
staticget

Returns a Vector3 with components 1, 0, 0.

◆ UnitY

Vector3 Mathf.Vector3.UnitY
staticget

Returns a Vector3 with components 0, 1, 0.

◆ UnitZ

Vector3 Mathf.Vector3.UnitZ
staticget

Returns a Vector3 with components 0, 0, 1.

◆ Up

Vector3 Mathf.Vector3.Up
staticget

Returns a Vector3 with components 0, 1, 0.

◆ Zero

Vector3 Mathf.Vector3.Zero
staticget

Returns a Vector3 with components 0, 0, 0.


The documentation for this struct was generated from the following file: