pub struct CollisionHull {
pub heights: Vec<f32>,
pub resolution: usize,
pub chunk_size: f32,
pub height_scale: f32,
}Expand description
A simplified collision representation for a terrain chunk.
Uses a low-resolution height grid suitable for physics queries.
Fields§
§heights: Vec<f32>Low-res height grid (collision_res x collision_res cells).
resolution: usize§chunk_size: f32World width/height covered by this hull.
height_scale: f32Implementations§
Source§impl CollisionHull
impl CollisionHull
Sourcepub fn generate(
heightmap: &HeightMap,
chunk_size: f32,
height_scale: f32,
resolution: usize,
) -> Self
pub fn generate( heightmap: &HeightMap, chunk_size: f32, height_scale: f32, resolution: usize, ) -> Self
Generate a collision hull from a heightmap.
resolution controls how many cells wide the collision grid is.
Typically 8–32 for performance.
Sourcepub fn height_at_local(&self, lx: f32, lz: f32) -> f32
pub fn height_at_local(&self, lx: f32, lz: f32) -> f32
Sample height at world-space (x, z) relative to chunk origin.
Trait Implementations§
Source§impl Clone for CollisionHull
impl Clone for CollisionHull
Source§fn clone(&self) -> CollisionHull
fn clone(&self) -> CollisionHull
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for CollisionHull
impl RefUnwindSafe for CollisionHull
impl Send for CollisionHull
impl Sync for CollisionHull
impl Unpin for CollisionHull
impl UnsafeUnpin for CollisionHull
impl UnwindSafe for CollisionHull
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.