Using Animations in Games
Using Animations in Games
Animations truly bring a game to life. From easily-accessible character animations in the catalog to detailed animations built with the
Articles/using animation editor|Animation Editor, Roblox offers a variety of powerful animation options.
Changing Default Animations
By default, Roblox player characters include common animations like running, climbing, swimming, and jumping. However, these animations are not locked in place — if desired, you can replace them with catalog animations or even load in your own
Articles/using animation editor|custom animations.
To change a default character animation, you’ll first need to locate the desired animation’s asset ID.
To use a catalog animation, locate its asset ID as outlined on the
articles/catalog animations|Catalog Animations reference page.
To use a custom animation exported from the
Articles/using animation editor|Animation Editor, locate its asset ID as follows:
- Open the Animations section of the Create page.
- Locate the desired animation and click it.
- Copy its ID from the URL in your browser.
Changing a Default Animation
Once you have a valid animation asset ID, you can easily replace any of the default Roblox character animations:
- Insert a
Scriptinto ServerScriptService containing the following code:
- Starting on line 11, replace the desired default animation(s) by resetting the Animate script’s
Animation/AnimationId|AnimationIdvalues to the corresponding asset ID.
Default Animation Reference »
The following reference chart lists the default animations which can be replaced, for instance
|Character Action||Animate Script References|
Using Animation Weight
Multiple animations may be used for the same action — note, for instance, that there are two default “idle” animations. When multiple animations exist for a character state, the Animate script will randomly choose which one to play, although the outcome can be influenced by changing the animation’s Weight value.
When assigning weight values, the probability of an animation being chosen is:
In the script below, this means that
Animation1 will play ⅓ of the time the character is idle, while
Animation2 will play ⅔ of the time.
Playing Animations Directly
In some cases you’ll need to play an animation directly from inside a script, for instance when the player presses a certain key, picks up a special item, etc.
To play an animation on a rig containing a
Humanoid object, such as typical player characters, load the animation via
Humanoid/LoadAnimation|Humanoid:LoadAnimation(). Consider this example
This code waits for the local player’s
Humanoid object to load, then it creates a new
Animation instance with the proper
Animation/AnimationId|AnimationId. The animation is then loaded onto the humanoid, creating an
AnimationTrack, and the track is played with
AnimationTrack/Play|AnimationTrack:Play(). This script also utilizes the
AnimationTrack/GetMarkerReachedSignal|GetMarkerReachedSignal() function to detect when a specific
articles/using animation editor#animation-events|animation event occurs.
Playing animations on rigs that do not contain a
Humanoid object must be done via an
AnimationController. Consider this simple
Script which is assumed to be a direct child of the rig:
AnimationControlleron the same rig. The script above handles this by looking for and destroying a
Humanoidobject which may exist.