The Spikes_Down animation looks like it’s the exact reverse of Spikes_Up, just slower. I was able to make the transition from Spikes_Up directly back to Spikes_Idle using a Duration Time of 1.5. So is Spikes_Down even needed in this example?

Also wondering, why did the spikes go through the ball at 03:42? Did the Rigidbody just fall asleep? Would we have to call WakeUp() on the ball in the Update() method?