diff options
Diffstat (limited to 'src/sim/rb_manager/mod.rs')
| -rw-r--r-- | src/sim/rb_manager/mod.rs | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/sim/rb_manager/mod.rs b/src/sim/rb_manager/mod.rs index 1a2abbf..36893b5 100644 --- a/src/sim/rb_manager/mod.rs +++ b/src/sim/rb_manager/mod.rs @@ -29,7 +29,7 @@ pub struct PhysicsManager { impl PhysicsManager { pub fn new() -> Self { let mut world = PhysicsWorld::new(); - let gravity = vec2(0.0, 9.81); + let gravity = vec2(0.0, 9.81 * CELLS_TO_METRES); world.gravity = gravity; world.integration_parameters = IntegrationParameters { // 20 pixels <-> 1 meter @@ -95,9 +95,7 @@ impl RbManager { continue; } for i in 0..p { - vertices.push( - (poly[i as usize] - (marchable.size().as_vec2() - 1.0) / 2.0) / CELLS_TO_METRES, - ); + vertices.push(poly[i as usize] - (marchable.size().as_vec2() - 1.0) / 2.0); indices.push([v + i, v + (i + 1) % p]); } } @@ -129,12 +127,11 @@ impl RbManager { pub fn upsert_chunk_collider(&mut self, cx: i32, cy: i32, chunk: &Chunk) { puffin::profile_function!(); - let collider = RbManager::polyline_collider_from_marchable(chunk, Some(20)).translation( - vec2( + let collider = + RbManager::polyline_collider_from_marchable(chunk, Some(20)).translation(vec2( (cx as f32 + 0.5) * CHUNK_SIZE as f32, (cy as f32 + 0.5) * CHUNK_SIZE as f32, - ) / CELLS_TO_METRES, - ); + )); if let Some(handle) = self.chunk_colliders.remove(&(cx, cy)) { self.physics_manager.world.remove_collider(handle); |
