The physics seems extremely unstable.
I built a very simple see-saw, with a plank that rotates around only one axis.
When the character steps on it, it often shudders a lot, and also twists along an additional axis.
Here is how the flippy plank is set up. the character is the default third-person template character:
What should I change to make this very simple physical simulation stable?
Things I have tried:
- turn on CCD for the plank and the character’s capsule
- turn up angular damping to 0.2 and linear damping to 0.1
- remove the constraint, and instead use the “lock axes” flags in the plank body
- re-constructing the objects using a FBX plank instead of a static-mesh-made-from-BSP
- turn on substepping and set max substep size to 0.008, max count to 6
- turn off gravity for the plank
Unfortunately, while it may perhaps be slightly more stable … not really. Still pretty jerky and shuddery.
How do I create a stable see-saw? This is the simplest mechanical system imaginable: One body, one fulcrum.
When I did physics on my own and in the ODE library, this was pretty easy to stabilize, so what’s going wrong with UE / PhysX?
I could not reproduce the problem. (Start with 3rd person template, make a plank mesh from a bsp, set simulate physics on the static mesh, add a physics constraint component, lock all movement but twist motion. Result: Works perfectly smooth.)
- Is your framerate stable and high enough?
- Do you have anything else that influences the plank except the player and the constraint? Are there maybe additional constraints or other objects with physics activated?
Also, what version are you using?
I’m using 4.13.0
I believe the frame rate is fine (a GeForce GTX 970M)
Also, with sub-stepping, frame rate should not affect the simulation as much.
There are no other physics constraints.
Note that I re-built the plank from scratch again, and still had this problem, so I’m surprised if you wouldn’t see it.
I will do a recording of building the entire thing from scratch and see how that goes.
You are correct; when creating it from scratch-scratch in the 3rd person template, it is stable.
Even when replacing the floor with a BSP box, it’s still stable.
So, what’s wrong with my test level?
Okay, I found what it is!
My character controller is set to collision mode “ragdoll” because I ragdoll it when it dies.
When changing the 3rd Person template character to ragdoll, I get the same instability.
I imagine this means that I have to keep the collision mode to standard, and update it to ragdoll right when the character dies.
Years later, same problem! in the end, it was exactly the same solution…ragdoll collision mode on my character mesh! Thanks!
It would be easier to roate the plank manually based on math than to use physics.
Even 6 years ago.
Now, with chaos, it is probably not only better but a must…
Physics depend on frame rate. Your math could easily account for that and over-perform in all significant ways…