Quick answer: Use Time Remaining (ratio) ≤ 0.05 for “near end”. For “after N loops”, count via AnimNotify_End.
Looping idle should transition after 3 full plays. Time Elapsed reaches threshold mid-clip and triggers immediately because Elapsed accumulates and Notify_End resets it.
The Fix
Transition Rule (single-loop):
Time Remaining (ratio): <= 0.05 // near end of one loop
AND TargetSpeed > 0
Transition Rule (after N loops):
IdleLoopCount >= 3
// AnimNotify on idle clip end
[Anim Notify] OnIdleLoopEnd:
IdleLoopCount += 1
Time Remaining ratio resets at the start of each loop, so it expresses position-within-current-loop. Counter expresses count of loops completed.
Verifying
Idle plays 3 full loops then transitions. Without notify counter: transitions at first end-of-loop crossing.
“Ratio for end-of-loop. Counter for total loops.”
Related Issues
For state alias, see state alias. For cached pose, see cached pose.
Ratio. Counter. Right transition.