Struct bevy_transform::components::Transform [−][src]
Expand description
Describe the position of an entity. If the entity has a parent, the position is relative to its parent position.
- To place or move an entity, you should set its
Transform
. - To be displayed, an entity must have both a
Transform
and aGlobalTransform
. - To get the global position of an entity, you should get its
GlobalTransform
.
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
.
In pseudo code:
for entity in entities_without_parent:
set entity.global_transform to entity.transform
recursively:
set parent to current entity
for child in parent.children:
set child.global_transform to parent.global_transform * child.transform
This system runs in stage CoreStage::PostUpdate
. If you
update theTransform
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.
Equivalent to -local_x()
Equivalent to -local_y()
Equivalent to -local_z()
Multiplies self
with transform
component by component, returning the
resulting Transform
Changes the scale
of this Transform
, multiplying the current scale
by
scale_factor
.
Trait Implementations
Performs the conversion.
Auto Trait Implementations
impl RefUnwindSafe for Transform
impl UnwindSafe for Transform
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
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
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
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
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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
Creates Self
using data from the given World
pub fn path(
&'r self,
path: &'p str
) -> Result<&'r (dyn Reflect + 'static), ReflectPathError<'p>>
pub fn path_mut(
&'r mut self,
path: &'p str
) -> Result<&'r mut (dyn Reflect + 'static), ReflectPathError<'p>>
fn get_path_mut<T>(
&'r mut self,
path: &'p str
) -> Result<&'r mut T, ReflectPathError<'p>> where
T: Reflect,
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