I recently switched from simple motion control to servo motion control when moving my character in a game I am making. It works great, especially for falling because I won’t just fall through everything, but the only thing I cannot not figure out is how to do an instant start/stop, everything moves like ice and it bugs me a little. Can anyone please help me get a set up to where I’m not figure skating and actually running and doing bullets? Thanks for the the help.
Theres a couple ways to do it. Python being probaly the easiest and most recommended. Depending on what you need you could mess with the material properties and beef up the friction setting. It wont take too much unless your velocity is high. Remember that your player and your ground material both have some friction applied by default. If your friction gets too high you might find that climbing geometry with steep grades will become problematic. Another way is by using states in the logic panel. By having a state that applies 0 velocity ( null is an acceptable target) you can stop forward momentum on a dime with state changes.
And dont forget that blender has a default scale which its phsyics work with. Your models have to be close to this scale so that gravity and such look right.
Correction: Servo Mode is like reality.
What makes things stop in reality? Friction or any other opposite force.
So what we have to do is to apply an opposing force. To do this we can either play around with the materials friction properties, or we can create a servo actuator that applies a zero velocity force (ie slows things down) when the user isn’t pressing any movement keys.
In theory you could simply apply twice the original force for the movement, and the original force for stopping and you wouldn’t notice any difference in acceleration and you won’t have to worry about which keys are pressed either!
Thanks for the correction
that actually helps a lot thanks! The only other question I have is what’s the antiscopic friction setting in the physics panel? Many thanks!