Struct bevy::transform::TransformBundle
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
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§
§local: Transform
The transform of the entity.
global: GlobalTransform
The global transform of the entity.
Implementations§
§impl TransformBundle
impl TransformBundle
pub const IDENTITY: TransformBundle = TransformBundle{
local: Transform::IDENTITY,
global: GlobalTransform::IDENTITY,}
pub const IDENTITY: TransformBundle = TransformBundle{ local: Transform::IDENTITY, global: GlobalTransform::IDENTITY,}
An identity TransformBundle
with no translation, rotation, and a scale of 1 on all axes.
pub const fn from_transform(transform: Transform) -> TransformBundle
pub const fn from_transform(transform: Transform) -> TransformBundle
Creates a new TransformBundle
from a Transform
.
This initializes GlobalTransform
as identity, to be updated later by the
CoreStage::PostUpdate
stage.
Trait Implementations§
§impl Clone for TransformBundle
impl Clone for TransformBundle
§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 more§impl Debug for TransformBundle
impl Debug for TransformBundle
§impl Default for TransformBundle
impl Default for TransformBundle
§fn default() -> TransformBundle
fn default() -> TransformBundle
§impl From<Transform> for TransformBundle
impl From<Transform> for TransformBundle
§fn from(transform: Transform) -> TransformBundle
fn from(transform: Transform) -> TransformBundle
impl Bundle for TransformBundle
SAFETY: ComponentId is returned in field-definition-order. [from_components] and [get_components] use field-definition-order
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, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist. Read more§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
. Read more§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
. Read more§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. Read more§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. Read more§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Self
using data from the given World