Enum bevy_rapier3d::plugin::TimestepMode
source · [−]pub enum TimestepMode {
Fixed {
dt: f32,
substeps: usize,
},
Variable {
max_dt: f32,
time_scale: f32,
substeps: usize,
},
Interpolated {
dt: f32,
time_scale: f32,
substeps: usize,
},
}
Expand description
The different ways of adjusting the timestep length.
Variants
Fixed
Fields
dt: f32
The physics simulation will be advanced by this total amount at each Bevy tick.
substeps: usize
This number of substeps of length dt / substeps
will be performed at each Bevy tick.
Use a fixed timestep: the physics simulation will be advanced by the fixed value
dt
seconds at each Bevy tick by performing substeps
of length dt / substeps
.
Variable
Fields
max_dt: f32
Maximum amount of time the physics simulation may be advanced at each Bevy tick.
time_scale: f32
Multiplier controlling if the physics simulation should advance faster (> 1.0), at the same speed (= 1.0) or slower (< 1.0) than the real time.
substeps: usize
The number of substeps that will be performed at each tick.
Use a variable timestep: the physics simulation will be advanced by the variable value
min(max_dt, Time::delta_seconds() * time_scale)
seconds at each Bevy tick. If
time_scale > 1.0
then the simulation will appear to run faster than real-time whereas
time_scale < 1.0
makes the simulation run in slow-motion.
Interpolated
Fields
dt: f32
The physics simulation will be advanced by this total amount at each Bevy tick, unless the physics simulation time is ahead of a the real time.
time_scale: f32
Multiplier controlling if the physics simulation should advance faster (> 1.0), at the same speed (= 1.0) or slower (< 1.0) than the real time.
substeps: usize
The number of substeps that will be performed whenever the physics simulation is advanced.
Use a fixed timestep equal to IntegrationParameters::dt
, but don’t step if the
physics simulation advanced by a time greater than the real-world elapsed time multiplied by time_scale
.
Rigid-bodies with a component InterpolatedTransform
attached will use interpolation to
estimate the rigid-bodies position in-between steps.
Trait Implementations
sourceimpl Clone for TimestepMode
impl Clone for TimestepMode
sourcefn clone(&self) -> TimestepMode
fn clone(&self) -> TimestepMode
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for TimestepMode
impl Debug for TimestepMode
sourceimpl PartialEq<TimestepMode> for TimestepMode
impl PartialEq<TimestepMode> for TimestepMode
sourcefn eq(&self, other: &TimestepMode) -> bool
fn eq(&self, other: &TimestepMode) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &TimestepMode) -> bool
fn ne(&self, other: &TimestepMode) -> bool
This method tests for !=
.
impl Copy for TimestepMode
impl StructuralPartialEq for TimestepMode
Auto Trait Implementations
impl RefUnwindSafe for TimestepMode
impl Send for TimestepMode
impl Sync for TimestepMode
impl Unpin for TimestepMode
impl UnwindSafe for TimestepMode
Blanket Implementations
impl<T, U> AsBindGroupShaderType<U> for T where
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for T where
U: ShaderType,
&'a T: for<'a> Into<U>,
fn as_bind_group_shader_type(
&self,
_images: &HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>
) -> U
fn as_bind_group_shader_type(
&self,
_images: &HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>
) -> U
Return the T
[ShaderType
] for self
. When used in [AsBindGroup
]
derives, it is safe to assume that all images in self
exist. Read more
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
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
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. Read more
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. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
impl<T> TypeData for T where
T: 'static + Send + Sync + Clone,
impl<T> TypeData for T where
T: 'static + Send + Sync + Clone,
fn clone_type_data(&self) -> Box<dyn TypeData + 'static, Global>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more