Show
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 AnimationsBy 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. Catalog AnimationsTo use a catalog animation, locate its asset ID as outlined on the articles/catalog animations|Catalog Animations reference page. Custom AnimationsTo use a custom animation built with the Articles/using animation editor|Animation Editor, locate its asset ID as follows:
Changing a Default AnimationOnce you have a valid animation asset ID, you can easily replace any of the default Roblox character animations:
The following reference chart lists the default animations which can be replaced, for instance animateScript.idle.Animation1.AnimationId.
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:
animation weight / total weight of all state animations In the script below, this means that Animation1 will play ⅓ of the time the character is idle, while Animation2 will play ⅔ of the time.
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. HumanoidsTo play an animation on a rig containing a Humanoid object, such as typical player characters, load the animation via Animator/LoadAnimation|Animator:LoadAnimation(). Consider the following LocalScript which may be placed in StarterPlayerScripts:
This code waits for the local player’s Animator object to load, then it creates a new Animation instance with the proper Animation/AnimationId|AnimationId. The animation is then loaded onto the Animator, 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. Non-HumanoidsPlaying animations on rigs that do not contain a Humanoid must be done by creating an AnimationController with a child Animator. Consider this simple Script which is assumed to be a direct child of the rig:
Animations cannot be loaded through both a Humanoid and AnimationController on the same rig. The script above handles this by looking for and destroying a Humanoid object which may exist. |