Jesusemora I'm sorry, forget everything I said. turns out I forgot to change the physics engine from Godot3D to Jolt.
Those screenshots are with GodotPhysics. Jolt doesn't have softbody support yet.
It's funny, I underestimated the godot physics engine but it was working fine all along.
But I went back to your file and found the source of the problem after cleaning up the mess.
You should NOT change the scale of a node that is the parent of PHYSICS OBJECTS, the engine gives you a warning, which we all missed.
scale should always be set to 1 1 1
, you instead have to change the size of the colliders from the collider
shape.
How do you work with these "limitations"?
1 - have ONE static physics node
with several colliders
as children. put the walls, floors, etc inside it. there's no reason to have so many nodes that do the exact same thing. Only create more static physics objects
when they need to have different physics properties, like one for the floors, one for the walls, and for each physics object that has to move, like a platform.
2 - CSGs have a ENABLE COLLISION option. only use these for prototyping, but you can change their size.
3 - you were using CSGs where you should've been using simple meshInstance3D
s. this is how godot works, physics is separate from visuals. use meshInstance3D
s for visual, have a ghostly Static physics object
with all the colliders
on the other side. only combine the two for objects that must move, like characters
and rigidbodies
. softbody
is the only exception to this rule.