pub struct BodyDynamics {
pub mass: f32,
pub friction: f32,
pub restitution: f32,
pub gravity_scale: f32,
pub linear_damping: f32,
pub impact_clip: Option<AudioClipHandle>,
pub impact_volume: f32,
}Expand description
Dynamic-body parameters attached to an entity with a Collider.
Runtime-only. Carries the physical values a PropBody declares, resolved
onto the owning prop’s entity at load so runtime spawns can copy them; an
entity with a Collider but no BodyDynamics is a static obstacle.
Fields§
§mass: f32Mass in kilograms. 0 derives mass from the collider shape.
friction: f32Coulomb friction coefficient.
restitution: f32Bounciness in [0, 1].
gravity_scale: f32Multiplier applied to world gravity for this body.
linear_damping: f32Linear velocity damping, modelling air drag.
impact_clip: Option<AudioClipHandle>Clip played at the contact point when this body collides hard enough to publish a contact event.
impact_volume: f32Linear gain applied to the impact clip at full impulse.
Trait Implementations§
Source§impl Clone for BodyDynamics
impl Clone for BodyDynamics
Source§fn clone(&self) -> BodyDynamics
fn clone(&self) -> BodyDynamics
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Component for BodyDynamics
impl Component for BodyDynamics
Source§const NAME: &'static str = "BodyDynamics"
const NAME: &'static str = "BodyDynamics"
The registry name a world authors this component under.
Source§fn from_baked(_bytes: &[u8]) -> Result<Self, CnResult>
fn from_baked(_bytes: &[u8]) -> Result<Self, CnResult>
Reconstruct this component from a blob record, whose bytes are the
serialized runtime component (cook already ran the asset -> component
translation). The default rejects: runtime-only components are never
stored in a blob, so only loadable types provide an implementation.
Source§fn inject_locator(&mut self, _locator: PayloadLocator)
fn inject_locator(&mut self, _locator: PayloadLocator)
Called after construction to inject the payload locator from the blob def.
Only meaningful for components with a compiled payload.
The default implementation does nothing (correct for most components).
Source§fn inject_name(&mut self, _id: AssetId)
fn inject_name(&mut self, _id: AssetId)
Called after construction to inject the asset’s identity from the blob
def. Only meaningful for components that look themselves up by id at
runtime. The default implementation does nothing.
Source§impl ComponentSlot for BodyDynamics
impl ComponentSlot for BodyDynamics
Source§const DISCRIMINANT: u8
const DISCRIMINANT: u8
The component type’s stable id, used as its
ComponentId.Source§fn slot(s: &ComponentStorage) -> &Column<BodyDynamics>
fn slot(s: &ComponentStorage) -> &Column<BodyDynamics>
Borrow this type’s column out of the storage.
Source§fn slot_mut(s: &mut ComponentStorage) -> &mut Column<BodyDynamics>
fn slot_mut(s: &mut ComponentStorage) -> &mut Column<BodyDynamics>
Mutably borrow this type’s column out of the storage.
impl Copy for BodyDynamics
Source§impl Debug for BodyDynamics
impl Debug for BodyDynamics
Source§impl Default for BodyDynamics
impl Default for BodyDynamics
Source§fn default() -> BodyDynamics
fn default() -> BodyDynamics
Returns the “default value” for a type. Read more
impl RuntimeComponent for BodyDynamics
Auto Trait Implementations§
impl Freeze for BodyDynamics
impl RefUnwindSafe for BodyDynamics
impl Send for BodyDynamics
impl Sync for BodyDynamics
impl Unpin for BodyDynamics
impl UnsafeUnpin for BodyDynamics
impl UnwindSafe for BodyDynamics
Blanket Implementations§
impl<T> AutoreleaseSafe for Twhere
T: ?Sized,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more