Enum heron_core::BodyType [−][src]
Component that defines the type of rigid body.
Example
fn spawn(commands: &mut Commands, mut materials: ResMut<Assets<ColorMaterial>>) { commands.spawn(todo!("Spawn your sprite/mesh, incl. at least a GlobalTransform")) .with(Body::Sphere { radius: 1.0 }) // Make a body (is dynamic by default) .with(BodyType::Static); // Make it static (so that it doesn't move and is not affected by forces like gravity) }
Variants
A dynamic body is normally affected by physic forces and affect the other bodies too.
This is the most "natural" type in the sense that, in the real life, everything is dynamic.
A static body is not affected by physic forces and doesn't move. But it does affect the other bodies.
This effectively behaves like a dynamic body with infinite mass and zero velocity.
It is especially useful to model terrain and static obstacles.
A sensor is not affected by physics forces and doesn't affect other bodies either. Other bodies will be able to penetrate the sensor.
A sensor is useful when we are only interested in collision events. One may for example add a sensor to detect when the player reach a certain area.
Trait Implementations
impl Clone for BodyType
[src]
impl Copy for BodyType
[src]
impl Debug for BodyType
[src]
impl Default for BodyType
[src]
impl Eq for BodyType
[src]
impl PartialEq<BodyType> for BodyType
[src]
fn eq(&self, other: &BodyType) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl StructuralEq for BodyType
[src]
impl StructuralPartialEq for BodyType
[src]
Auto Trait Implementations
impl RefUnwindSafe for BodyType
[src]
impl Send for BodyType
[src]
impl Sync for BodyType
[src]
impl Unpin for BodyType
[src]
impl UnwindSafe for BodyType
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Component for T where
T: 'static + Send + Sync,
[src]
T: 'static + Send + Sync,
impl<T> Downcast for T where
T: Any,
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> DowncastSync for T where
T: Send + Sync + Any,
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T> FromResources for T where
T: Default,
[src]
T: Default,
pub fn from_resources(_resources: &Resources) -> T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Resource for T where
T: 'static + Send + Sync,
[src]
T: 'static + Send + Sync,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> TypeData for T where
T: 'static + Send + Sync + Clone,
T: 'static + Send + Sync + Clone,
pub fn clone_type_data(&self) -> Box<dyn TypeData + 'static, Global>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,