As part of an interactive book I'm developing in Unity3D, I'm attempting to make an introductory scene that consists of moving lots of objects at different times - usually when another animation has completed.
For example, some trees (sprites) move down the page, which starts some text moving in and cloud sprites to appear and start to move across the page, then some text begins to scroll from the bottom to the top of the page, while some audio beings to play.
Currently, I've made a script that can move a series of clouds from left to right, or right to left across a background sprite given a speed (note: I'm not using any of the animation tools, simple C# scripting to move the objects on a loop).
Within Unity3D, what is the recommended approach to achieve this?
My thoughts are:
- Create a series of scripts that waits for n seconds (where n is the duration a desired 'animation'), and then start another - with somekind of 'master' or 'controller' script to manage the timeline.
- Somehow use the animation tooling built into Unity3D, although I don't think that this what they were indented for...
- Find a plugin that can help me create the scene and trigger animation/ scripts either on an event (animation finished) or after a specific time.
I've been using Unity3D for about 2 weeks now, so I'm certainly at the (pre?)-beginner level, I do however have over a decade of C# experience, so I'm comfortable with the scripting aspect.