Character controllers are an important yet often overlooked feature for any 3D development package. Movement controls are the most immediate form of interaction a player has with the virtual environment. Any glitches in these controls will create an unpleasant experience for the end user. Fortunately, Leadwerks Engine provides a robust and stable character controller that interacts seamlessly with other physical objects. This controller can be used for any character, whether the input comes from the keyboard, AI, or a remote player in a networked game.
When setting out to design our character controller, we had a few requirements in mind:
-Controller should not slide down slopes below a maximum slope angle.
-Controllers should climb obstacles below the maximum step height. Climbing should be instant, with no loss of horizontal velocity, or struggling to climb stairs.
-Controllers should be able to interact with other physics bodies. Controllers should be able to push and be pushed by physics bodies.
-Jitters and other glitches were absolutely unacceptable; player control must feel smooth and fluid.
These behaviors were very difficult to implement, but after spending many months on the problem we achieved excellent results. In this lesson we will learn to make a controller with the above features, as well as running and jumping behavior.
I think I understand how you are creating your geometries (I've been racking my brain on making my character controller)
Do you create two cylinder geometries?
The bottom cylinder is the size of the max step height and the top ones height makes up the difference from the total height
The radius of the top cylinder is the desired radius and the bottom cylinder radius is determined by the max slope so it creates the proper vector between the two bases edges.
Contacts determine vel direction *chars
TledgEs 1 year ago
I think one thing that contributes to "floaty" physics is that game gravity tends to pull at a constant rate, instead of accelerating like gravity does in the real world.
TuahShinguru 1 year ago