Struct bevy::transform::components::GlobalTransform [−]
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
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
Returns the 3d affine transformation matrix from this transforms translation, rotation, and scale.
pub fn local_x(&self) -> Vec3
Get the unit vector in the local x direction
pub fn local_y(&self) -> Vec3
Get the unit vector in the local y direction
pub fn local_z(&self) -> Vec3
Get the unit vector in the local z direction
pub fn mul_transform(&self, transform: Transform) -> GlobalTransform
Multiplies self
with transform
component by component, returning the
resulting GlobalTransform
pub fn mul_vec3(&self, value: Vec3) -> Vec3
Trait Implementations
impl Clone for GlobalTransform
pub fn clone(&self) -> GlobalTransform
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for GlobalTransform
impl Debug for GlobalTransform
impl Default for GlobalTransform
pub fn default() -> GlobalTransform
impl From<GlobalTransform> for Transform
pub fn from(transform: GlobalTransform) -> Transform
impl From<Transform> for GlobalTransform
pub fn from(transform: Transform) -> GlobalTransform
impl GetTypeRegistration for GlobalTransform
pub fn get_type_registration() -> TypeRegistration
impl Mul<GlobalTransform> for GlobalTransform
type Output = GlobalTransform
The resulting type after applying the *
operator.
pub fn mul(
self,
global_transform: GlobalTransform
) -> <GlobalTransform as Mul<GlobalTransform>>::Output
self,
global_transform: GlobalTransform
) -> <GlobalTransform as Mul<GlobalTransform>>::Output
impl Mul<Transform> for GlobalTransform
type Output = GlobalTransform
The resulting type after applying the *
operator.
pub fn mul(
self,
transform: Transform
) -> <GlobalTransform as Mul<Transform>>::Output
self,
transform: Transform
) -> <GlobalTransform as Mul<Transform>>::Output
impl Mul<Vec3> for GlobalTransform
type Output = Vec3
The resulting type after applying the *
operator.
pub fn mul(self, value: Vec3) -> <GlobalTransform as Mul<Vec3>>::Output
impl PartialEq<GlobalTransform> for GlobalTransform
pub fn eq(&self, other: &GlobalTransform) -> bool
pub fn ne(&self, other: &GlobalTransform) -> bool
impl Reflect for GlobalTransform
pub fn type_name(&self) -> &str
pub fn any(&self) -> &(dyn Any + 'static)
pub fn any_mut(&mut self) -> &mut (dyn Any + 'static)
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>>
&mut self,
value: Box<dyn Reflect + 'static, Global>
) -> Result<(), Box<dyn Reflect + 'static, Global>>
pub fn apply(&mut self, value: &(dyn Reflect + 'static))
pub fn reflect_ref(&self) -> ReflectRef<'_>
pub fn reflect_mut(&mut self) -> ReflectMut<'_>
pub fn serializable(&self) -> Option<Serializable<'_>>
pub fn reflect_hash(&self) -> Option<u64>
pub fn reflect_partial_eq(
&self,
value: &(dyn Reflect + 'static)
) -> Option<bool>
&self,
value: &(dyn Reflect + 'static)
) -> Option<bool>
impl RenderResource for GlobalTransform
pub fn resource_type(&self) -> Option<RenderResourceType>
pub fn write_buffer_bytes(&self, buffer: &mut [u8])
pub fn buffer_byte_len(&self) -> Option<usize>
pub fn texture(&self) -> Option<&Handle<Texture>>
impl RenderResources for GlobalTransform
pub fn render_resources_len(&self) -> usize
pub fn get_render_resource(&self, index: usize) -> Option<&dyn RenderResource>
pub fn get_render_resource_name(&self, index: usize) -> Option<&str>
pub fn iter(&self) -> RenderResourceIterator<'_>ⓘNotable traits for RenderResourceIterator<'a>
impl<'a> Iterator for RenderResourceIterator<'a> type Item = &'a (dyn RenderResource + 'a);
Notable traits for RenderResourceIterator<'a>
impl<'a> Iterator for RenderResourceIterator<'a> type Item = &'a (dyn RenderResource + 'a);
pub fn get_render_resource_hints(
&self,
_index: usize
) -> Option<RenderResourceHints>
&self,
_index: usize
) -> Option<RenderResourceHints>
impl Struct for GlobalTransform
pub fn field(&self, name: &str) -> Option<&(dyn Reflect + 'static)>
pub fn field_mut(&mut self, name: &str) -> Option<&mut (dyn Reflect + 'static)>
pub fn field_at(&self, index: usize) -> Option<&(dyn Reflect + 'static)>
pub fn field_at_mut(
&mut self,
index: usize
) -> Option<&mut (dyn Reflect + 'static)>
&mut self,
index: usize
) -> Option<&mut (dyn Reflect + 'static)>
pub fn name_at(&self, index: usize) -> Option<&str>
pub fn field_len(&self) -> usize
pub fn iter_fields(&self) -> FieldIter<'_>ⓘ
pub fn clone_dynamic(&self) -> DynamicStruct
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
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Any for T where
T: Any,
T: Any,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CloneAny for T where
T: Any + Clone,
T: Any + Clone,
impl<T> Component for T where
T: 'static + Send + Sync,
T: 'static + Send + Sync,
impl<T> Downcast for T where
T: Any,
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> Downcast<T> for T
impl<T> DowncastSync for T where
T: Any + Send + Sync,
T: Any + Send + Sync,
impl<T> From<T> for T
[src]
impl<T> FromWorld for T where
T: Default,
T: Default,
pub fn from_world(_world: &mut World) -> T
impl<S> GetField for S where
S: Struct,
S: Struct,
pub fn get_field<T>(&self, name: &str) -> Option<&T> where
T: Reflect,
T: Reflect,
pub fn get_field_mut<T>(&mut self, name: &str) -> Option<&mut T> where
T: Reflect,
T: Reflect,
impl<T> GetPath for T where
T: Reflect,
T: Reflect,
pub fn path(
&'r self,
path: &'p str
) -> Result<&'r (dyn Reflect + 'static), ReflectPathError<'p>>
&'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>>
&'r mut self,
path: &'p str
) -> Result<&'r mut (dyn Reflect + 'static), ReflectPathError<'p>>
pub fn get_path<T>(
&'r self,
path: &'p str
) -> Result<&'r T, ReflectPathError<'p>> where
T: Reflect,
&'r self,
path: &'p str
) -> Result<&'r T, ReflectPathError<'p>> where
T: Reflect,
pub fn get_path_mut<T>(
&'r mut self,
path: &'p str
) -> Result<&'r mut T, ReflectPathError<'p>> where
T: Reflect,
&'r mut self,
path: &'p str
) -> Result<&'r mut T, ReflectPathError<'p>> where
T: Reflect,
impl<T> Instrument for T
[src]
pub 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;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
pub 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;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> TypeData for T where
T: 'static + Send + Sync + Clone,
T: 'static + Send + Sync + Clone,
pub fn clone_type_data(&self) -> Box<dyn TypeData + 'static, Global>
impl<T> Upcast<T> for T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,