Struct bevy_transform::TransformBundle
source · pub struct TransformBundle {
pub local: Transform,
pub global: GlobalTransform,
}
Expand description
A Bundle
of the Transform
and GlobalTransform
Component
s, which describe the position of an entity.
- To place or move an entity, you should set its
Transform
. - To get the global transform of an entity, you should get its
GlobalTransform
. - For transform hierarchies to work correctly, you must have both a
Transform
and aGlobalTransform
.- You may use the
TransformBundle
to guarantee this.
- You may use the
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
by systems in the system set
TransformPropagate
.
This system runs during PostUpdate
. If you
update the Transform
of an entity in this schedule or after, you will notice a 1 frame lag
before the GlobalTransform
is updated.
Fields§
§local: Transform
The transform of the entity.
global: GlobalTransform
The global transform of the entity.
Implementations§
source§impl TransformBundle
impl TransformBundle
sourcepub const IDENTITY: Self = _
pub const IDENTITY: Self = _
An identity TransformBundle
with no translation, rotation, and a scale of 1 on all axes.
sourcepub const fn from_transform(transform: Transform) -> Self
pub const fn from_transform(transform: Transform) -> Self
Creates a new TransformBundle
from a Transform
.
This initializes GlobalTransform
as identity, to be updated later by the
PostUpdate
schedule.
Trait Implementations§
source§impl Clone for TransformBundle
impl Clone for TransformBundle
source§fn clone(&self) -> TransformBundle
fn clone(&self) -> TransformBundle
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for TransformBundle
impl Debug for TransformBundle
source§impl Default for TransformBundle
impl Default for TransformBundle
source§fn default() -> TransformBundle
fn default() -> TransformBundle
source§impl From<Transform> for TransformBundle
impl From<Transform> for TransformBundle
impl Bundle for TransformBundle
impl Copy for TransformBundle
impl DynamicBundle for TransformBundle
Auto Trait Implementations§
impl RefUnwindSafe for TransformBundle
impl Send for TransformBundle
impl Sync for TransformBundle
impl Unpin for TransformBundle
impl UnwindSafe for TransformBundle
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Self
using data from the given World
.