Struct bevy_transform::TransformBundle
source · pub struct TransformBundle {
pub local: Transform,
pub global: GlobalTransform,
}Expand description
A Bundle of the Transform and GlobalTransform
Components, 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
Transformand aGlobalTransform.- You may use the
TransformBundleto 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 CoreSet::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§
§local: TransformThe transform of the entity.
global: GlobalTransformThe 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
CoreSet::PostUpdate stage.
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
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§
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§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.§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> 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