Struct bevy::transform::components::GlobalTransform [−]
Expand description
Describe the position of an entity relative to the reference frame.
- 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
rotation: Quat
scale: Vec3
Implementations
impl GlobalTransform
impl GlobalTransform
pub const fn identity() -> GlobalTransform
pub const fn identity() -> GlobalTransform
Creates a new identity GlobalTransform
, with no translation, rotation, and a scale of 1
on all axes.
pub fn compute_matrix(&self) -> Mat4
pub fn compute_matrix(&self) -> Mat4
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()
][GlobalTransform::local_z
pub fn mul_transform(&self, transform: Transform) -> GlobalTransform
pub fn mul_transform(&self, transform: Transform) -> GlobalTransform
Multiplies self
with transform
component by component, returning the
resulting GlobalTransform
Trait Implementations
impl Clone for GlobalTransform
impl Clone for GlobalTransform
pub fn clone(&self) -> GlobalTransform
pub fn clone(&self) -> GlobalTransform
Returns a copy of the value. Read more
Performs copy-assignment from source
. Read more
impl Component for GlobalTransform where
GlobalTransform: 'static,
GlobalTransform: Send,
GlobalTransform: Sync,
impl Component for GlobalTransform where
GlobalTransform: 'static,
GlobalTransform: Send,
GlobalTransform: Sync,
type Storage = TableStorage
impl Debug for GlobalTransform
impl Debug for GlobalTransform
impl Default for GlobalTransform
impl Default for GlobalTransform
pub fn default() -> GlobalTransform
pub fn default() -> GlobalTransform
Returns the “default value” for a type. Read more
impl From<GlobalTransform> for Transform
impl From<GlobalTransform> for Transform
pub fn from(transform: GlobalTransform) -> Transform
pub fn from(transform: GlobalTransform) -> Transform
Performs the conversion.
impl From<Transform> for GlobalTransform
impl From<Transform> for GlobalTransform
pub fn from(transform: Transform) -> GlobalTransform
pub fn from(transform: Transform) -> GlobalTransform
Performs the conversion.
impl GetTypeRegistration for GlobalTransform
impl GetTypeRegistration for GlobalTransform
pub fn get_type_registration() -> TypeRegistration
impl Mul<GlobalTransform> for GlobalTransform
impl Mul<GlobalTransform> for GlobalTransform
type Output = GlobalTransform
type Output = GlobalTransform
The resulting type after applying the *
operator.
pub fn mul(
self,
global_transform: GlobalTransform
) -> <GlobalTransform as Mul<GlobalTransform>>::Output
pub fn mul(
self,
global_transform: GlobalTransform
) -> <GlobalTransform as Mul<GlobalTransform>>::Output
Performs the *
operation. Read more
impl Mul<Transform> for GlobalTransform
impl Mul<Transform> for GlobalTransform
type Output = GlobalTransform
type Output = GlobalTransform
The resulting type after applying the *
operator.
impl Mul<Vec3> for GlobalTransform
impl Mul<Vec3> for GlobalTransform
impl PartialEq<GlobalTransform> for GlobalTransform
impl PartialEq<GlobalTransform> for GlobalTransform
pub fn eq(&self, other: &GlobalTransform) -> bool
pub fn eq(&self, other: &GlobalTransform) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
pub fn ne(&self, other: &GlobalTransform) -> bool
pub fn ne(&self, other: &GlobalTransform) -> bool
This method tests for !=
.
impl Reflect for GlobalTransform
impl Reflect for GlobalTransform
pub fn clone_value(&self) -> Box<dyn Reflect + 'static, Global>ⓘ
pub fn set(
&mut self,
value: Box<dyn Reflect + 'static, Global>
) -> Result<(), Box<dyn Reflect + 'static, Global>>
pub fn reflect_ref(&self) -> ReflectRef<'_>
pub fn reflect_mut(&mut self) -> ReflectMut<'_>
pub fn serializable(&self) -> Option<Serializable<'_>>
pub fn serializable(&self) -> Option<Serializable<'_>>
Returns a serializable value, if serialization is supported. Otherwise None
will be
returned. Read more
pub fn reflect_hash(&self) -> Option<u64>
pub fn reflect_hash(&self) -> Option<u64>
Returns a hash of the value (which includes the type) if hashing is supported. Otherwise
None
will be returned. Read more
pub fn reflect_partial_eq(
&self,
value: &(dyn Reflect + 'static)
) -> Option<bool>
pub fn reflect_partial_eq(
&self,
value: &(dyn Reflect + 'static)
) -> Option<bool>
Returns a “partial equal” comparison result if comparison is supported. Otherwise None
will be returned. Read more
impl Struct for GlobalTransform
impl Struct for GlobalTransform
pub fn field_at_mut(
&mut self,
index: usize
) -> Option<&mut (dyn Reflect + 'static)>
pub fn iter_fields(&self) -> FieldIter<'_>ⓘ
pub fn clone_dynamic(&self) -> DynamicStruct
impl Copy for GlobalTransform
impl StructuralPartialEq for GlobalTransform
Auto Trait Implementations
impl RefUnwindSafe for GlobalTransform
impl Send for GlobalTransform
impl Sync for GlobalTransform
impl Unpin for GlobalTransform
impl UnwindSafe for GlobalTransform
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
pub fn from_world(_world: &mut World) -> T
pub fn from_world(_world: &mut World) -> T
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,
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
pub fn clone_type_data(&self) -> Box<dyn TypeData + 'static, Global>ⓘ
pub fn vzip(self) -> V
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more