Hi AT. You might wish to look for a way to set fixedRotation = true… on the impostor… either at BabylonJS impostor-level, or native physics-engine levels. BUT, this might interfere with your character’s turning. (angularVelocity? twisting-dual-impulsing?)
There is angular damping nearby, too… which, when cranked-up… is ALMOST as stiff as fixedRotation, but COULD still be forced to turn… with a beefy angularVelocity “whack”.
Also, another user told me an idea… using a likely-invisible little-mesh… hovering over the player… and do physics forces against THAT little box. Then hook a physics joint… between that little “player-moving tractor”… down to the actual player impostor. https://www.babylonjs-playground.com/#15AFCG#39 (arrow keys move little gray box, which pulls bigger box, via joint)
The objective… put a “slightly-flexible connector” (a lock/hinge/distance/whatever - joint) between the force… and the thing receiving the force. Player can bounce-around a little bit on the terrain… flex a little as it moves… and all is “nicer” because the player is being “pulled-along” by the joint… from the almighty tractor above. All in all, it is like your player being moved… via bungee-cords hooked to an overhead-hovering helicopter landing gear.
Can you turn-off char animation, and problem is same as before? (probably so)
Just thoughts. Your game looks nice! Hopefully, we’ll hear more comments, soon. I’ll invite @Cedric to come visit… he’s pretty sharp on this stuff. (thx C).
What physics engine are you using, AT? What impostor-shape is installed on the animated character? What are your mass, friction, and restitution values on char? What impostor is set on ground? What are ITS friction/restitution? SO many questions, eh? The more info, the better.
Is there ANY chance you could reproduce the same problem… using our playground application? All 3 of our main physics engine… can be activated in the playground. Making a playground that shows the same issue… would make things SO much easier.