aboutsummaryrefslogtreecommitdiff
path: root/examples3d/heightfield3.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples3d/heightfield3.rs')
-rw-r--r--examples3d/heightfield3.rs18
1 files changed, 11 insertions, 7 deletions
diff --git a/examples3d/heightfield3.rs b/examples3d/heightfield3.rs
index 09df815..6af93c7 100644
--- a/examples3d/heightfield3.rs
+++ b/examples3d/heightfield3.rs
@@ -54,13 +54,17 @@ pub fn init_world(testbed: &mut Testbed) {
let rigid_body = RigidBodyBuilder::new_dynamic().translation(x, y, z).build();
let handle = bodies.insert(rigid_body);
- if j % 2 == 0 {
- let collider = ColliderBuilder::cuboid(rad, rad, rad).build();
- colliders.insert(collider, handle, &mut bodies);
- } else {
- let collider = ColliderBuilder::ball(rad).build();
- colliders.insert(collider, handle, &mut bodies);
- }
+ let collider = match j % 5 {
+ 0 => ColliderBuilder::cuboid(rad, rad, rad).build(),
+ 1 => ColliderBuilder::ball(rad).build(),
+ // Rounded cylinders are much more efficient that cylinder, even if the
+ // rounding margin is small.
+ 2 => ColliderBuilder::round_cylinder(rad, rad, rad / 10.0).build(),
+ 3 => ColliderBuilder::cone(rad, rad).build(),
+ _ => ColliderBuilder::capsule_y(rad, rad).build(),
+ };
+
+ colliders.insert(collider, handle, &mut bodies);
}
}
}