pub struct RootMotion {
pub delta_translation: Vec3,
pub delta_rotation: Quat,
}Expand description
Root motion extracted from a clip’s root bone.
Instead of moving the root bone in the pose, the delta is handed off to the game’s character controller so it can be applied to the entity’s world transform.
Fields§
§delta_translation: Vec3§delta_rotation: QuatImplementations§
Source§impl RootMotion
impl RootMotion
pub fn zero() -> Self
Sourcepub fn extract_root_motion(
clip: &AnimationClip,
current_time: f32,
dt: f32,
) -> Self
pub fn extract_root_motion( clip: &AnimationClip, current_time: f32, dt: f32, ) -> Self
Compute the root-motion delta between two times in a clip.
dt seconds of motion are sampled from the clip’s first channel that
targets the root bone (BoneId 0) translation and rotation.
Sourcepub fn accumulate(&self, other: &RootMotion) -> RootMotion
pub fn accumulate(&self, other: &RootMotion) -> RootMotion
Accumulate another root motion delta.
pub fn is_zero(&self) -> bool
Trait Implementations§
Source§impl Clone for RootMotion
impl Clone for RootMotion
Source§fn clone(&self) -> RootMotion
fn clone(&self) -> RootMotion
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RootMotion
impl Debug for RootMotion
Source§impl Default for RootMotion
impl Default for RootMotion
Source§fn default() -> RootMotion
fn default() -> RootMotion
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for RootMotion
impl RefUnwindSafe for RootMotion
impl Send for RootMotion
impl Sync for RootMotion
impl Unpin for RootMotion
impl UnsafeUnpin for RootMotion
impl UnwindSafe for RootMotion
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
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)
Convert
&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)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.