Mighty Animations

Mighty Animations

This package allows you to create smooth multistep animations with ease. It runs each animation step on the server and all the clients simultaneously to ensure a buttery smooth experience.

How to use

Simply drop/add the Animation template into the entity you wish to animate and configure your animation.

Configuration

playOnInit - Determines if the animation should start as soon as the entity is initialised.
initialDelay - Adds a delay before animation would start. Only available if playOnInit is on.

playbackMode - Loop/PingPong
cyclesCount - How many times animation should be repeated (forward or backward) before it stops. The animation will play infinitely if 0 is passed
cyclesTimeout - Pause between each animation cycle (loop or bounce).
stepsTimeout - Pause between steps of the animation.

useRelativeValues - Allows you to specify position or rotation offsets rather than actual coordinates for each step. In other words, values specified on each step will be relative to the values on the previous one.

durations - Durations for each step of the animation.
positions - Relative (to the parent) position of the entity for each step of the animation. When useRelativeValues is on, behaves like a positional offset from the previous step.
rotations - Relative (to the parent) rotation of the entity for each step of the animation. When useRelativeValues is on, behaves like a rotational offset from the previous step.
transitions - transitionMode for each step of the animation. Uses Linear by default.

positions, rotations, and transitions could have a different number of elements. If no value is specified for the current step, the animation will use the value specified on the last available step.

onComplete - Event that is fired when the animation is complete and all the cycles have been played.

API

These are mightyAnimationScript’s public functions you could use:

Play() - Start playing the animations. Doesn’t take effect if the animation is already playing.
Stop() - Stop currently playing animation and return to initial position and rotation.
AddAnimationStep(duration, position, rotation, transition) - This allows you to programmatically add another animation step. The only required argument is duration. Doesn’t do anything if animation is playing.
RemoveAnimationStep(index) - Remove the animation step at the specified index. If the index is not passed it removes the last animation step. Doesn’t do anything if animation is playing.

Animation groups

Animation group allows you to have control over multiple animated objects.
Its configuration is pretty straightforward since it has properties very similar to regular animation.
The door example that gets installed with the package utilizes the animation group to prevent the button from activating the door until all the door parts have finished their animation.

Future plans

  1. Add a tutorial video
4 Likes