I am using Godot 4.1 and after I added the first rigidbodies to my game, I noticed the physics seem really unstable. The floor is a StaticBody with large and 1m thick BoxShape. I have RigidBody objects with simple BoxShape colliders and the thinnest side is 0.3m. Often when I knock them on the floor they do not come to rest, but keep vibrating indefinitely. They are not on top of each other, this happens when a single object is only on top of the static floor. Increasing physics ticks per second to 120 seems to help, but I am not sure how it affects performance and what will be my final targets. Is it normal for the physics to be so unstable and jittery in such a case I would assume to be very simple and mundane at 60 ticks per second?

  • @TsarVul
    link
    2
    edit-2
    1 year ago

    OK well you’re not doing anything wrong. It’s just that the default Godot physics server needs work. For what its worth, in this example that you’ve shown, the problem can be amended if you do the following:

    • In Project Settings -> Physics -> 3D

      • Set Time Before Sleep to 0.25 or lower.
      • Set Sleep Threshold Angular to 0.1.
    • You can also enable Continuous CD in the Rigid Bodies but that usually just helps with detecting collisions in fast-moving bodies.


    Your other option is to replace the default GodotPhysics3D with another one, as has already been stated.

    I wouldn’t recommend submitting an issue to the developers. I’m pretty sure they’re aware of the physics server shortcomings.