- A new Unity scene (NEAnimAdvanced, built by SceneSetup) and the
animator_advancedscenario recorded in Unity, matched exactly (48 scenarios pass):- StateMachineBehaviours (loaded from the controller, copied per Animator): OnStateEnter on a state's first update or a transition's start, OnStateUpdate each update for the current and next states, OnStateExit when a transition completes (the source) or is interrupted (its destination), called after the layer's update so IsInTransition reads as Unity reports it; GetBehaviour(s).
- Transition interruption (interruptionSource, ordered interruption): the last output pose freezes as the new transition's source, its state still current at a fixed time; the interrupted destination exits without advancing.
- Avatar masks (.mask assets) limit override and additive layers to their transform paths; the root's own transform always passes (as Unity does).
- Additive layers add each property's change from the states' first frames, by the layer's weight (rotations compose).
- Root motion (applyRootMotion): the base layer's root curves move the GameObject by their change over each update, relative to the root's pose at the start of the step and continuing across loops (each loop from where the last ended); deltaPosition/deltaRotation/velocity; OnAnimatorMove handlers apply it themselves (ApplyBuiltinRootMotion).
- Not yet: humanoid avatars and retargeting, IK, sync layers, root motion from layers above the base, Any State interruptions, state machine enter/exit callbacks.
- Next: Input System interactions.
Phase 5 · Slice 27 ·