Quick answer: Godot 4 RigidBody3D rotation snapping back after colliding with a StaticBody3D? Static body's normal is treated as a constraint; rotation freedom limits the body - tune freeze rotation per axis.
Player carries a long object; bumps a wall. Object snaps back to original rotation.
Freeze unwanted axes
body.set_lock_rotation_x(false)Allow rotation freely on intended axes; lock others.
Or use 6DOF joint
For complex constraints, a 6DOF joint defines per-axis behavior. Heavier; more control.
Tune Bounce on static
Lower bounce on the static body. Less snap-back energy.
“Physics constraints come from contacts. Contact-driven rotation needs explicit allowance.”
If carried objects feel wrong, the static body's material is often the cause. Tune both bodies.