#[non_exhaustive]pub struct Collider {
pub shape: ColliderShape,
pub is_trigger: bool,
pub material: PhysicsMaterial,
pub collision_layer: CollisionLayer,
}Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.shape: ColliderShape§is_trigger: bool§material: PhysicsMaterial§collision_layer: CollisionLayerImplementations§
Source§impl Collider
impl Collider
Sourcepub fn from_shape(shape: ColliderShape) -> Collider
pub fn from_shape(shape: ColliderShape) -> Collider
Build a collider from a raw ColliderShape, using the default
material and collision layer with is_trigger = false.
This is the canonical constructor for turning a bare shape into a
Collider: the struct is #[non_exhaustive], so it cannot be built
with a struct literal from outside this crate. Combine with the
with_* builder methods to override defaults.
Sourcepub fn compute_aabb(&self, position: Vec3, rotation: Quat) -> Aabb
pub fn compute_aabb(&self, position: Vec3, rotation: Quat) -> Aabb
Calculate AABB for this collider at given transform
pub fn plane(normal: Vec3, distance: f32) -> Collider
pub fn sphere(radius: f32) -> Collider
pub fn box_collider(half_extents: Vec3) -> Collider
pub fn offset_box(offset: Vec3, half_extents: Vec3) -> Collider
pub fn capsule(radius: f32, half_height: f32) -> Collider
pub fn convex_hull(points: &[Vec3]) -> Collider
pub fn with_trigger(self, is_trigger: bool) -> Collider
pub fn with_material(self, material: PhysicsMaterial) -> Collider
Sourcepub fn with_restitution(self, restitution: f32) -> Collider
pub fn with_restitution(self, restitution: f32) -> Collider
Zıplaklık (restitution) kısayolu — tam malzeme kurmadan tek satırda ayarla.
Örn: Collider::sphere(0.5).with_restitution(0.9) (defalarca zıplayan top).
Sourcepub fn with_friction(self, friction: f32) -> Collider
pub fn with_friction(self, friction: f32) -> Collider
Sürtünme kısayolu (statik = dinamik = friction).
pub fn aabb(half_extents: Vec3) -> Collider
pub fn new_sphere(radius: f32) -> Collider
pub fn new_aabb(x: f32, y: f32, z: f32) -> Collider
pub fn new_capsule(radius: f32, half_height: f32) -> Collider
pub fn with_layer(self, layer: CollisionLayer) -> Collider
pub fn volume(&self) -> f32
pub fn extents_y(&self) -> f32
Trait Implementations§
Source§impl Component for Collider
impl Component for Collider
fn storage_type() -> StorageType
Source§impl<'de> Deserialize<'de> for Collider
impl<'de> Deserialize<'de> for Collider
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Collider, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Collider, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for Collider
impl Serialize for Collider
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for Collider
Auto Trait Implementations§
impl Freeze for Collider
impl RefUnwindSafe for Collider
impl Send for Collider
impl Sync for Collider
impl Unpin for Collider
impl UnsafeUnpin for Collider
impl UnwindSafe for Collider
Blanket Implementations§
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
Source§impl<T> BundleExt for Twhere
T: Bundle,
impl<T> BundleExt for Twhere
T: Bundle,
fn with<C>(self, component: C) -> DynamicBundle<Self, C>where
C: Component,
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<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§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.Source§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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().