Show Eddy is a computer specialist and a technology geek, He has an exceptional experience is programming and analyzing any new technology entering the market.
Roblox Studio features a powerful, built-in Animation Editor which allows you to design and publish custom animations. Model RequirementsThe animation editor can be used for both stock human characters or non-human models, as long as all moving parts are connected with Motor6D objects. Assuming your model is compatible, follow these steps to begin creating an animation:
If you’re new to Roblox animation, it’s recommended that you start with one of the default rigs created through the Build Rig button in the Plugins tab. These rigs already contain the basic parts and mechanisms to build a character animation.
To animate a rig, you’ll need to define poses by moving/rotating specific parts like the head, right hand, left foot, etc. When the animation runs, it will smoothly animate the rig from pose to pose. Consider a simple animation where a human character turns its head 45° to the left. This animation involves two poses — the initial position of the head (looking forward) and the turned position of the head (looking left).
Pose #1 Pose #2 To create a new pose:
While setting poses, you can toggle between Move and Rotate modes by pressing Ctrl+2 or Ctrl+4 respectively (Command ⌘+2 or Command ⌘+4 on Mac). These modes work exactly like moving/rotating base objects, including the snap settings and incremental values located in the Snap to Grid section of the Model tab.
By default, the timeline displays a duration of 1 second (30 frames), although the animation’s actual duration will be determined by the final keyframe. To add more time to the timeline view, enter a new value in the right-side box of the position indicator:
Once you define basic poses for a rig, fine-tuning individual keyframes can significantly improve the final animation. Adding KeyframesAs shown in the poses section above, keyframes are automatically added when you change a part’s orientation anywhere along the timeline. In addition, keyframes can be added as follows:
Moving KeyframesTo increase or decrease the amount of time between a keyframe and a neighboring keyframe:
Select a specific keyframe Select all keyframes at position
Copying KeyframesA specific keyframe (or keyframes for multiple parts) can be copied and pasted to a new position in the timeline.
Deleting KeyframesOne or more keyframes can be deleted by simply selecting them and pressing Delete or Backspace. Animation EasingEasing is an important concept in animation. By default, a part will move/rotate from one keyframe to the next in an even, steady motion known as linear easing. Uh oh! Your browser doesn't appear to support embedded videos! Here is a direct link to the video instead.
As you can see, linear easing makes the character’s kick animation appear stiff and robotic. While that may look appropriate for some motions, compare the following video where cubic easing is applied to make the leg animate more naturally. Uh oh! Your browser doesn't appear to support embedded videos! Here is a direct link to the video instead.
To change easing for one or more keyframes:
Inverse KinematicsWhen animating characters, inverse kinematics (IK) can help calculate rotations for neighboring joints in order to get one specific joint to a desired location. Uh oh! Your browser doesn't appear to support embedded videos! Here is a direct link to the video instead.
To begin editing an animation in IK mode:
IK ModesIK features both Body Part mode (exclusive to /articles/r6 vs r15 avatars|R15/Rthro rigs) and Full Body mode. This can be toggled from the IK window.
Pinning PartsWhen editing an animation in Full Body mode, you can pin a part to make it immovable. In the following video, both feet are pinned and remain stationary while moving other parts, but either foot can still be directly manipulated. Uh oh! Your browser doesn't appear to support embedded videos! Here is a direct link to the video instead.
To pin a specific part, click the pin icon next to its name. Remember that Full Body mode must be enabled to use this feature.
To return to “forward kinematics” mode, click on Disable IK near the bottom of the IK window. Note that this will not remove any manipulations you made while in IK mode — that data will remain stored in any keyframes which were created while IK was applied.
When designing an animation in the editor, you can toggle on the Looping button to make it automatically loop:
Looping on Looping off Note that a looping animation will not interpolate between the final keyframes and first keyframes. Therefore, it's recommended that you copy the first keyframes and use them as the final keyframes so that the animation loops smoothly. PriorityIn an actual game, you’ll probably use unique animations for different player actions and states, for instance a jump animation and an “idle” animation. Logically, the jump animation should take priority over the idle animation so that characters don’t perform both at the same time. You can set one of four priority levels as follows:
← lowest priority highest priority →
Animation EventsAnimation event markers can be defined across the timeline span and AnimationTrack/GetMarkerReachedSignal|GetMarkerReachedSignal() can be used to detect those markers as the animation runs. Showing EventsBy default, the event track isn’t visible. To reveal it:
Creating EventsTo create a new event marker:
Detecting EventsTo detect animation events in a LocalScript, connect a function to the AnimationTrack/GetMarkerReachedSignal|GetMarkerReachedSignal() function of AnimationTrack, for instance:
As noted earlier, you can specify a Parameter value for any event marker within the animation editor. This lets you pass a custom string (single value, comma-separated string, etc.) to the AnimationTrack/GetMarkerReachedSignal|GetMarkerReachedSignal() function as illustrated by the paramString argument in the code example above. This string can then be parsed or converted, if necessary, and used for whatever action you wish to perform in the event.
As you create events, they become available for usage throughout the animation, not only at the time position where you created them. For instance, you can create a “FootStep” event marker at the point where a character’s left foot touches down, then use the same event when the character’s right foot touches down. To clone an event:
If the original event uses a parameter but the cloned event should use a modified parameter, right-click the cloned marker, select Edit Animation Event, type in the desired changes, and click Save. Events can also be cloned by clicking the Edit Animation Events button (just as if you were creating a new event), clicking Add Event in the popup window, selecting the desired event from the dropdown, and clicking Save. Once you’re satisfied with an animation, you can either save it as a KeyframeSequence object or export it to Roblox for use in your games. Saving to ProjectTo save an animation as a KeyframeSequence:
Note that the saved KeyframeSequence is not used to load the animation in a game. See the next section for details on exporting an animation for in-game use. To use an animation in an actual game, you must export it to Roblox and note the assigned asset ID.
If your animation will be used for a default Roblox character animation like jumping or running, as outlined /articles/using animations in games|here, you must rename the final keyframe End (with a capital E). This can be done by right-clicking the final “select all keyframes” symbol in the upper bar and choosing Rename Key Keyframe. |