I am implementing a new character controller based on convex raycasts. The results so far provide much smoother and more accurate collision, but there are some major problems that prevent me from releasing this. I would like to upgrade my engine to Newton 3.14 and finished the new character controller in time for the Steam winter sale later this month.
Demo:
http://www.leadwerks.com/MyGame.zip
Newton is used as a DLL now.
You will get stuck if you step on a slope steeper than 45 degrees. Sliding behavior is not yet implemented.
Video:
Here are the problems, as shown in the video:
1) The convex raycast allow non-zero penetration, which seems like it should never happen. This allows the player to penetrate the downward-facing overhangs and walk straight into an object.
2) Convex raycasts against compound convex shapes are producing obviously wrong results. The player keeps hopping up and down.
3) Moving objects do not detect collision with the player body, as you can see with the moving platform. The platform uses a motorized slider joint to move back and forth.
Controls
WASD / Mouse: Move / look
Space: jump
P: show collision
C: Keep camera in place
The convex casting inaccuracy effects all games. You can even see it in this video right at 3:02: