Animation Player Setting Node's Positions Globally

Godot Version

4.6.1 -stable

Question

I’m using an animation player to control the positions of IK target nodes and it’s setting their positions globally, as opposed to locally. This is my scene tree:

IkTargets must be of type Node3D, you used plain Node

Reason you see this happen is that Node doesn’t play along with the transformation stack.

This effectively makes its children’s local transform (which the AnimationPlayer does in fact set) be relative to Transform3D.IDENTITY and not relative to the other Node3D higher up in the hierarchy of your scene tree.