logo
pub struct Transform {
    pub translation: Vec3,
    pub rotation: Quat,
    pub scale: Vec3,
}
Expand description

Describe the position of an entity. If the entity has a parent, the position is relative to its parent position.

Transform and GlobalTransform

Transform is the position of an entity relative to its parent position, or the reference frame if it doesn’t have a Parent.

GlobalTransform is the position of an entity relative to the reference frame.

GlobalTransform is updated from Transform in the system transform_propagate_system.

This system runs in stage CoreStage::PostUpdate. If you update the Transform of an entity in this stage or after, you will notice a 1 frame lag before the GlobalTransform is updated.

Fields

translation: Vec3

Position of the entity. In 2d, the last value of the Vec3 is used for z-ordering.

rotation: Quat

Rotation of the entity.

scale: Vec3

Scale of the entity.

Implementations

Creates a new Transform at the position (x, y, z). In 2d, the z component is used for z-ordering elements: higher z-value will be in front of lower z-value.

Creates a new identity Transform, with no translation, rotation, and a scale of 1 on all axes.

Extracts the translation, rotation, and scale from matrix. It must be a 3d affine transformation matrix.

Creates a new Transform, with translation. Rotation will be 0 and scale 1 on all axes.

Creates a new Transform, with rotation. Translation will be 0 and scale 1 on all axes.

Creates a new Transform, with scale. Translation will be 0 and rotation 0 on all axes.

Updates and returns this Transform by rotating it so that its unit vector in the local Z direction is toward target and its unit vector in the local Y direction is toward up.

Returns this Transform with a new translation.

Returns this Transform with a new rotation.

Returns this Transform with a new scale.

Returns the 3d affine transformation matrix from this transforms translation, rotation, and scale.

Returns the 3d affine transformation matrix from this transforms translation, rotation, and scale.

Get the unit vector in the local X direction.

Equivalent to -local_x()

Equivalent to local_x()

Get the unit vector in the local Y direction.

Equivalent to local_y()

Equivalent to -local_y()

Get the unit vector in the local Z direction.

Equivalent to -local_z()

Equivalent to local_z()

Rotates this Transform by the given rotation.

If this Transform has a parent, the rotation is relative to the rotation of the parent.

Rotates this Transform around the given axis by angle (in radians).

If this Transform has a parent, the axis is relative to the rotation of the parent.

Rotates this Transform around the X axis by angle (in radians).

If this Transform has a parent, the axis is relative to the rotation of the parent.

Rotates this Transform around the Y axis by angle (in radians).

If this Transform has a parent, the axis is relative to the rotation of the parent.

Rotates this Transform around the Z axis by angle (in radians).

If this Transform has a parent, the axis is relative to the rotation of the parent.

Rotates this Transform by the given rotation.

The rotation is relative to this Transform’s current rotation.

Rotates this Transform around its local axis by angle (in radians).

Rotates this Transform around its local X axis by angle (in radians).

Rotates this Transform around its local Y axis by angle (in radians).

Rotates this Transform around its local Z axis by angle (in radians).

Translates this Transform around a point in space.

If this Transform has a parent, the point is relative to the Transform of the parent.

Rotates this Transform around a point in space.

If this Transform has a parent, the point is relative to the Transform of the parent.

Rotates this Transform so that its local negative Z direction is toward target and its local Y direction is toward up.

Multiplies self with transform component by component, returning the resulting Transform

Returns a Vec3 of this Transform applied to value.

Changes the scale of this Transform, multiplying the current scale by scale_factor.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

The transform is expected to be non-degenerate and without shearing, or the output will be invalid.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

The resulting type after applying the * operator.

Performs the * operation. Read more

The resulting type after applying the * operator.

Performs the * operation. Read more

The resulting type after applying the * operator.

Performs the * operation. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Returns the type name of the underlying type.

Returns the TypeInfo of the underlying type. Read more

Returns the value as a Box<dyn Any>.

Returns the value as a &dyn Any.

Returns the value as a &mut dyn Any.

Casts this type to a reflected value

Casts this type to a mutable reflected value

Clones the value as a Reflect trait object. Read more

Performs a type-checked assignment of a reflected value to this value. Read more

Applies a reflected value to this value. Read more

Returns an enumeration of “kinds” of type. Read more

Returns a mutable enumeration of “kinds” of type. Read more

Returns a “partial equality” comparison result. Read more

Returns a hash of the value (which includes the type). Read more

Debug formatter for the value. Read more

Returns a serializable version of the value. Read more

Returns a reference to the value of the field named name as a &dyn Reflect. Read more

Returns a mutable reference to the value of the field named name as a &mut dyn Reflect. Read more

Returns a reference to the value of the field with index index as a &dyn Reflect. Read more

Returns a mutable reference to the value of the field with index index as a &mut dyn Reflect. Read more

Returns the name of the field with index index.

Returns the number of fields in the struct.

Returns an iterator over the values of the struct’s fields.

Clones the struct into a DynamicStruct.

Returns the compile-time info for the underlying type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Return the T ShaderType for self. When used in AsBindGroup derives, it is safe to assume that all images in self exist. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Creates Self using data from the given World

Returns a reference to the value of the field named name, downcast to T. Read more

Returns a mutable reference to the value of the field named name, downcast to T. Read more

Returns a reference to the value specified by path. Read more

Returns a mutable reference to the value specified by path. Read more

Returns a statically typed reference to the value specified by path.

Returns a statically typed mutable reference to the value specified by path. Read more

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more