Farseer Physics platformer weird slope activity

In the video of https://www.youtube.com/watch?v=peZk3rmAwF4 when the player/capsule goes over the slope you can see it hops in the air for a little bit at the end of the slope. I tried playing with friction and so fourth and by raising the friction we can fix this but it makes the player go up the slope really slow. Any help at all is greatly appreciated.Thank you :slightly_smiling:

I assume you are using a dynamic character controller (i.e. the physics simulation takes care of the capsule movement). Undesired jumps are fundamental and - to my knowledge - unsolved problem of dynamic character controllers.

Quote from the PhysX SDK manual v2.7.2 about dynamic character controllers.

Undesired Jumps: It is often important that a character stick to the ground, no matter what the physical behavior should be. For example, characters in action games tend to move fast, at unrealistic speeds. When they reach the top of a ramp, the physics engine often makes them jump a bit, in the same way a fast car would jump in the streets of San Francisco. But that is often not desired: the character should stick to the ground regardless of its current velocity. This is sometimes implemented using fixed joints, which is a terrible, terrible solution to a very simple problem that has been solved for years without requiring all the modern complexity of a physics engine.

Kinematic character controllers do not exhibit this problem.


When I set the kinematic property to true on the body, it all of sudden looses collision with all other objects even when they are kinematic aswel which is because all of the bodies are static. So assuming this is the only way, I’ll set all of them to non static kinematic bodies and keep them from falling and see the results. Thanks for the reply :slightly_smiling:

I was able to successfully implement this, thank you :slight_smile: (https://www.digitalrune.com/Blog/Post/1676/3D-Character-Controller-Implementation)

I’m glad it was helpful. :slightly_smiling: