@cybereality said:
You have to override _integrate_forces() to set limits. This is the correct way, but you can also add damping in the inspector (sort of like friction) and if you tweak the numbers you might get something okay.
I think his code might be all right because it limits it before it ever happens.
The body's linear velocity in units per second. Can be used sporadically, but don't set this every frame, because physics may run in another thread and runs at a different granularity. Use _integrate_forces as your process loop for precise control of the body state.