3D Character Controller choppy/stuck on kinematic rigidbodies
Closed by #625
I'm using the same setup as the 3d character controller example I made with one difference:
The ground cube has a Rigidbody::KinematicPositionBased component (line 74).
commands.spawn((
Transform::from_xyz(0.0, -ground_height, 0.0),
Collider::cuboid(ground_size, ground_height, ground_size),
+ RigidBody::KinematicPositionBased,
));
Suddenly the player controller very choppy, getting stuck randomly on the ground, even though it's not moving.
I tried making a "Ground" and "Player" group and disable contact forces via SolverGroups without success.
I think this is a regression, as this setup used to work in previous versions. The only issue back then was that the character controller could get stuck on walls, but not on the ground.
Thanks for the report!
-
I could reproduce it on master, but on https://github.com/dimforge/bevy_rapier/pull/625 this seems resolved, I'm not sure what would be the origin of that behaviour.
-
https://github.com/dimforge/parry/pull/298 may be related, too.
There has been a few changes to ground detection and small tweaks to collision detection upstream, which are probably at the root cause, but if https://github.com/dimforge/bevy_rapier/pull/625 offers a satisfying fix, I'm putting this on my low priority list. I'm still interested in more details if anyone looks into it :)
After testing on your branch, I can confirm that #625 seems to resolve the issue