Why does my orbital keep increasing it's speed and escape the gravity?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By RedPilled

These are my project settings:
Default linear and angular damp = 0 and default gravity = 0

I have following in my scene:
1)An Area node with point gravity for simulating planetary/spherical gravity.
2)A RigidBody node placed inside this area, whose velocity I have set perpendicular to gravity, once in the beginning of the scene using set_linear_velocity(Vector3(0,15,0)) in _ready(). I have tried apply_central_impulse() also.

I was expecting that either the rigidbody node will keep revolving around the gravity if it picked up a stable orbit, or will eventually fall down.

Test run: https://gfycat.com/jauntylazychrysalis

But if you see this test run, it keeps increasing it speed and increasing it’s orbit radius, which doesn’t make sense given that there is no other external force which would increase it’s speed nor there is linear damp which would decrease it’s speed. Shouldn’t it just maintain its speed?

What am I missing in understanding the physics here?

I’ve seen instances where apply_impulse wouldn’t work if done in _ready, did it work for you?

Xrayez | 2019-07-12 06:06

Yes, I was able to use apply_impulse and set_linear_velocity interchangeably in _ready() with same results. I have 3 second timer before it applies the impulse/velocity though.

RedPilled | 2019-07-12 06:23

:bust_in_silhouette: Reply From: osimmac

how exactly are you simulating gravity? it seems like the force maybe constant?

I am using the Area node’s gravity option. I figured this must be a bug so I have raised a GitHub issue: RigidBody in an Area node with gravity point increases it's speed continuously · Issue #30575 · godotengine/godot · GitHub

RedPilled | 2020-03-27 13:19