diff options
| author | Sébastien Crozet <developer@crozet.re> | 2023-02-26 18:19:38 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-26 18:19:38 +0100 |
| commit | c85a833d3a2e4c66024627a9745f033fbbee283a (patch) | |
| tree | 28e352f0ae58e9982807fcda3d13c99f17e38645 /examples2d | |
| parent | 2e929bbcabe49b7b18d4ee8d1fe4e58dc066c5ac (diff) | |
| parent | 798d764fc10642c91b12e4f18d0e354c23ae5463 (diff) | |
| download | rapier-c85a833d3a2e4c66024627a9745f033fbbee283a.tar.gz rapier-c85a833d3a2e4c66024627a9745f033fbbee283a.tar.bz2 rapier-c85a833d3a2e4c66024627a9745f033fbbee283a.zip | |
Merge pull request #446 from janhohenheim/fix-kcc
Make KinematicCharacterController move along obstacles, respect offset more and fix false positives in grounded detection
Diffstat (limited to 'examples2d')
| -rw-r--r-- | examples2d/character_controller2.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/examples2d/character_controller2.rs b/examples2d/character_controller2.rs index ff500e9..8ecd23c 100644 --- a/examples2d/character_controller2.rs +++ b/examples2d/character_controller2.rs @@ -1,5 +1,6 @@ use rapier2d::prelude::*; use rapier_testbed2d::Testbed; +use std::f32::consts::PI; pub fn init_world(testbed: &mut Testbed) { /* @@ -89,6 +90,19 @@ pub fn init_world(testbed: &mut Testbed) { colliders.insert(collider); /* + * Create a wall we can’t climb. + */ + let wall_angle = PI / 2.; + let wall_size = 2.0; + let collider = ColliderBuilder::cuboid(wall_size, ground_height) + .translation(vector![ + ground_size + slope_size * 2.0 + impossible_slope_size + 0.35, + -ground_height + 2.5 * 2.3 + ]) + .rotation(wall_angle); + colliders.insert(collider); + + /* * Create a moving platform. */ let body = RigidBodyBuilder::kinematic_velocity_based().translation(vector![-8.0, 1.5]); |
