Transform Structure |
Namespace: Godot
[SerializableAttribute] public struct Transform : IEquatable<Transform>
The Transform type exposes the following members.
Name | Description | |
---|---|---|
Transform(Basis, Vector3) |
Constructs a transformation matrix from the given basis and origin vector.
| |
Transform(Quat, Vector3) |
Constructs a transformation matrix from the given quaternion and origin vector.
| |
Transform(Vector3, Vector3, Vector3, Vector3) |
Constructs a transformation matrix from 4 vectors (matrix columns).
|
Name | Description | |
---|---|---|
FlipX |
The transform that will flip something along the X axis.
| |
FlipY |
The transform that will flip something along the Y axis.
| |
FlipZ |
The transform that will flip something along the Z axis.
| |
Identity |
The identity transform, with no translation, rotation, or scaling applied.
This is used as a replacement for `Transform()` in GDScript.
Do not use `new Transform()` with no arguments in C#, because it sets all values to zero.
| |
ItemInt32 |
Access whole columns in the form of Vector3. The fourth column is the origin vector.
| |
ItemInt32, Int32 |
Access matrix elements in column-major order. The fourth column is the origin vector.
|
Name | Description | |
---|---|---|
AffineInverse |
Returns the inverse of the transform, under the assumption that
the transformation is composed of rotation, scaling, and translation.
| |
Equals(Object) | (Overrides ValueTypeEquals(Object).) | |
Equals(Transform) | ||
GetHashCode | (Overrides ValueTypeGetHashCode.) | |
GetType | (Inherited from Object.) | |
InterpolateWith |
Interpolates this transform to the other `transform` by `weight`.
| |
Inverse |
Returns the inverse of the transform, under the assumption that
the transformation is composed of rotation and translation
(no scaling, use AffineInverse for transforms with scaling).
| |
IsEqualApprox |
Returns true if this transform and `other` are approximately equal, by running
IsEqualApprox(Vector3) on each component.
| |
LookingAt |
Returns a copy of the transform rotated such that its
-Z axis (forward) points towards the target position.
The transform will first be rotated around the given up vector,
and then fully aligned to the target by a further rotation around
an axis perpendicular to both the target and up vectors.
Operations take place in global space.
| |
Orthonormalized |
Returns the transform with the basis orthogonal (90 degrees),
and normalized axis vectors (scale of 1 or -1).
| |
Rotated |
Rotates the transform around the given `axis` by `phi` (in radians),
using matrix multiplication. The axis must be a normalized vector.
| |
Scaled |
Scales the transform by the given 3D scaling factor, using matrix multiplication.
| |
SetLookAt | ||
ToString | (Overrides ValueTypeToString.) | |
ToString(String) | ||
Translated |
Translates the transform by the given `offset`,
relative to the transform's basis vectors.
Unlike Rotated(Vector3, Single) and Scaled(Vector3),
this does not use matrix multiplication.
| |
Xform |
Returns a vector transformed (multiplied) by this transformation matrix.
| |
XformInv |
Returns a vector transformed (multiplied) by the transposed transformation matrix.
Note: This results in a multiplication by the inverse of the
transformation matrix only if it represents a rotation-reflection.
|
Name | Description | |
---|---|---|
Equality | ||
Inequality | ||
Multiply |
Name | Description | |
---|---|---|
basis |
The Basis of this transform. Contains the X, Y, and Z basis
vectors (columns 0 to 2) and is responsible for rotation and scale.
| |
origin |
The origin vector (column 3, the fourth column). Equivalent to array index `[3]`.
|