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
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl 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
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 Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for Twhere
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
T
[ShaderType
] for self
. When used in [AsBindGroup
]
derives, it is safe to assume that all images in self
exist. Read moresourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
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>
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 morefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read morefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read morefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read moresourceimpl<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 SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read morefn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset
but without any property checks. Always succeeds.fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.