In many cases, we don't want an animation to begin until some condition has been met, or some event has occurred. In these cases, a good way to organize an Animator Controller is to have two animation states (clips) and a Trigger on the transition between the clips. We can use code to detect when we want the animation to start playing, and at that time, we send the Trigger message to the Animation Controller, causing a Transition to start.
In this recipe, we'll create a water platform block in our 2D platform game. Such blocks will begin to slowly fall down the screen as soon as they have been stepped on, and so the player must keep on moving; otherwise, they'll fall down the screen with the blocks too!
Figure 6.33 – Example of a falling platform