Skip to main content

PhysicsBudget

Struct PhysicsBudget 

Source
pub struct PhysicsBudget {
    pub fixed: u32,
    pub dynamic: u32,
    pub kinematic: u32,
    pub sensors: u32,
    pub joints: u32,
    pub anchors: u32,
    pub spawn_headroom: u32,
}
Expand description

The reservation a world’s physics content implies.

Grouped by the kind of body the simulation builds rather than by the asset that asked for it, because that is what the simulation sizes its storage against.

Fields§

§fixed: u32

Immovable bodies: static colliders plus the world’s floor.

§dynamic: u32

Freely simulated bodies.

§kinematic: u32

Position-driven bodies: the player capsule and the character rigs.

§sensors: u32

Sensor bodies, one per trigger volume.

§joints: u32

Joints connecting two bodies.

§anchors: u32

Hidden static bodies minted to anchor a world-anchored joint.

§spawn_headroom: u32

Bodies held back for entities created after init.

Implementations§

Source§

impl PhysicsBudget

Source

pub const fn derive(counts: &PhysicsCounts, spawn_headroom: u32) -> Self

Derive the reservation for a world’s counts, holding back spawn_headroom bodies for entities created at runtime.

The floor body is always built, so fixed is one past the static collider count.

Source

pub const fn body_total(&self) -> u32

Bodies the authored world builds at init.

Source

pub const fn body_cap(&self) -> u32

The hard ceiling on live bodies: everything init builds, plus the headroom held back for runtime spawns. The simulation refuses to build a body past this.

Trait Implementations§

Source§

impl Clone for PhysicsBudget

Source§

fn clone(&self) -> PhysicsBudget

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for PhysicsBudget

Source§

impl Debug for PhysicsBudget

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PhysicsBudget

Source§

fn default() -> PhysicsBudget

Returns the “default value” for a type. Read more
Source§

impl Eq for PhysicsBudget

Source§

impl PartialEq for PhysicsBudget

Source§

fn eq(&self, other: &PhysicsBudget) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for PhysicsBudget

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.