1pub struct PhysicsConfig {
2 pub gravity: [f32; 3],
3 pub damping: f32,
4 pub angular_damping: f32,
5 pub solve_iterations: u32,
6 pub position_iterations: u32,
7 pub relaxation: f32,
8 pub slop: f32,
9 pub restitution_threshold: f32,
10 pub max_velocity: f32,
11 pub max_angular_velocity: f32,
12 pub broadphase_cell_size: f32,
13 pub broadphase_cells_per_axis: u32,
14}
15
16impl Default for PhysicsConfig {
17 fn default() -> Self {
18 Self {
19 gravity: [0.0, -9.81, 0.0],
20 damping: 0.05,
21 angular_damping: 0.05,
22 solve_iterations: 12,
23 position_iterations: 6,
24 relaxation: 0.8,
25 slop: 0.005,
26 restitution_threshold: 1.0,
27 max_velocity: 200.0,
28 max_angular_velocity: 400.0,
29 broadphase_cell_size: 2.0,
30 broadphase_cells_per_axis: 128,
31 }
32 }
33}