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?

    • Walop@sopuli.xyzOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Thanks, I found that myself also and keep in mind. I briefly tried Jolt in the test scene I made for the glitch and it seemed to work more consistently.

  • TsarVul@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 year ago

    Nah I don’t believe it’s normal. I just tried reproducing on 4.1.2 and it works fine on 60 ticks. I’d say try pushing a minimal project to a public repo on github or something that illustrates your problem. If we can’t help you then, surely Godot Engine contributors would use it to fix an underlying issue in the engine.

      • TsarVul@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        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.