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.

Related reading