How should user-initiated transform updates be handled on Rigidbodies? #8847
Replies: 2 comments 1 reply
-
Making the PhysicsServer active while the editor is running isn't an actively tested use case. It lacks granularity, which severely limits its usefulness in practice. For it to be really useful in the editor, you'd need to be able to enable physics simulation on specific objects only, so you can use it to place RigidBodies in the editor without affecting the entire scene. You don't want the rest of the scene to change while you're not looking at it after all 🙂 |
Beta Was this translation helpful? Give feedback.
-
Now that I mention it, I don't think this is specific to having physics active in the editor. I haven't used Godot how it's meant to be used much (actually building and running the project/scene), but after just playing around with it doing transforms via the remote scene in the editor also doesn't let you override the physics engine. I will change the title. |
Beta Was this translation helpful? Give feedback.
-
I figure this id kind of niche issue, but possibly worth discussing.
The way things work right now are depending on what kind of hardware you are running the behavior is different.
With a PC using a dGPU, it's a bit janky especially when fighting gravity acceleration.
Godot_v4.2-stable_mono_win64_4jgHJ0pLQ7.2.mp4
With a PC using an iGPU, you can't change anything at all.
Neither result is particularly ideal. As well, typing in the transforms in the inspector don't seem to do anything (Only tested on my iGPU laptop)
In my opinion the way it should work is all user-input should override the physics engine as if the rigidbody were frozen and then unfrozen.
I have a branch locally that exposes in-progress transformations when the gizmo tools are being used as vectors via EditorInterface, which allows for this by taking that vector in an editor script, checking if it's none zero, and then freezing the rigidbody. When it's zero it unfreezes, but I'm not sure if this is something people want exposed or if it's even the right solution.
Thoughts?
Beta Was this translation helpful? Give feedback.
All reactions