- Using a btHeightfieldTerrainShape for the terrain mesh
- Rewriting the triangle winding so that it matches the Ogre terrain I am using
- Using a btBvhTriangleMeshShape for the terrain mesh
- Using the OiJE character controller documented here
- Using the double-capsule character controller documented here
- Attempting various ratios of friction, damping, step height, capsule size, etc. in order to determine if a ratio/scaling issue is causing the behavior
- Tweaking various collision flags of the terrain and the character
Why is this the case? The behavior seems to mimic a bouncing ball on terrain, but I figured the btKinematicCharacterController would behave more like a human being with legs. Once my character reaches a sloped terrain he should climb it, and stay where he is, and not bounce gradually back to flat ground.
I don't have any example code because the behavior is the same regardless of the code, and I'm not up to untangling the bullet code from the OgreBullet code I'm using. I've taken sample code directly from the demos, and everything is initialized properly, and the idiom for my code is the general idiom for creating a character and a terrain: create the terrain, add it to the world; create the ghost object for the character, create the capsule for the character, create the callback for the dynamics world, add the ghost as a collision object to the dynamics world, resetting the ghost objects by using `cleanProxyFromPairs`.
Thanks for your help!