Such a sequence consists of a virtually unlimited number of steps with different types :
- Smooth (keyframed) movements: the object moves from where it is currently to another point in a smooth manner in a given number of seconds. Doing so it may also rotate, or maybe only rotate, as you decide it.
- Immediate movement: same thing but the movement (and rotation) happens as fast as possibly allowed by the sim.
- Pause: the object waits for a number of seconds. The sequence then resumes with the next step.
- Sound: the object emits a sound.
A plugin system allows for extra step types by communicating with other scripts :
- plugin action: a message is sent to the plugin and the sequence goes on with the next step
- plugin wait: a message is sent to the plugin and the sequence is paused until the plugin replies.
Two flags can also be set as part as the sequence definition :
- Loop: the sequence starts again when reaching the end
- Back to origin: the object is set back (as an immediate movement) to its origin point (its position and orientation it had when starting the sequence) when the sequence reaches its end.
Sequences are recorded by a special Recorder script (using a very clear menu interface), saved to notecards (so that you can define as many sequences as you wish) and played with a Player script. The player is copiable and transferable so you can include it with your creations.
The whole playback system is commanded through a controller script that sends commands (like "load this sequence", "play", "stop", "pause", "resume"). You can either use one of the provided (full perm) controller scripts or design your own if you have the knowledge (full PDF documentation available here).
You can also interface with another system like AVsitter (so that the movement begins as soon as someone sits on your object and stops when all avatars stand up). You decide. And of course, should you need a special controller or plugin script you can always contact me.
One standard full perm plugin is provided that supports commands to say, shout or whisper messages publicly, as well as activating Theme-O-Matic themes. It also supports "plugin wait" steps by waiting for a specific command over a private channel, ideal to be used by some remote control HUD for example.
The scripting API is rich but efficient and easy to use. The player script performs the required computations so that when you begin the sequence playback with a different orientation the whole movement is turned as you intuitively expect it. Try it!