diff --git a/engine/physics/src/physics.rs b/engine/physics/src/physics.rs index 3fd2340..fc14ad6 100644 --- a/engine/physics/src/physics.rs +++ b/engine/physics/src/physics.rs @@ -980,6 +980,14 @@ impl PhysicsContext<'_>{ } } impl PhysicsData{ + pub fn trace_ray(&self,ray:strafesnet_common::bvh::Ray)->Option<ModelId>{ + let (time,convex_mesh_id)=self.bvh.sample_ray(&ray,Time::ZERO,Time::MAX,|&model,ray|{ + let mesh=self.models.mesh(model); + // TODO: ray tracing lol + None + })?; + Some(convex_mesh_id.model_id.into()) + } /// use with caution, this is the only non-instruction way to mess with physics pub fn generate_models(&mut self,map:&map::CompleteMap){ let mut modes=map.modes.clone();