Skip to main content

Blog Archive

New Movements Set the Stage for Keyframe Animation System

October 02, 2013

by CodeWriter


By now, you’ve probably noticed that ROBLOXians move differently—and with more realism and fluidity. The Games Team has been working hard to roll out these new character animations. Engineer Vince D’Amelio has been leading the charge, and is here to talk about what’s new and preview exciting animation plans for the future.


Take your ROBLOXian out for a spin. You’ll notice that he/she is moving differently. That’s because we’ve refreshed some of the default character animations to add fluidity and realism. While we feel the new animations bring life to the standard motion of ROBLOX characters, this update also gave us an opportunity to build a new animation system that will eventually allow you to create your own character movements.

Default Character Animations

We have overhauled our animation system in a way that gives us fine-grain control over virtually every limb of a humanoid. We’ve added major extensions to our keyframe animation system that allow us (and will eventually allow you) to specify joints that we’d like to keyframe individually. Additionally, we rethought our “priority” system–every motion you make, whether that’s walking, using an object or jumping, has a higher or lower priority depending on the action and when it should play. Without getting too specific, we not only had to restructure what motion took what priority, but create a new priority in order to preserve backwards compatibility.

What you see today is not necessarily the end of character animation updates. Next, we’re planning to add an additional joint to the standard humanoid that will allow us to control and animate the torso. The torso has always been the root of the entire assembly of a humanoid, but, to put it simply, it can’t actually move. This new joint provides flexibility so we can make it bob, weave, arch and more. This relatively small change makes a big difference in the way characters move. The torso joint is active in our Gametest1 testing environment, and will release soon.

Though your ROBLOX character moves differently, much of this project involved developing a system that puts the creative power in your hands. Before we get to that, let’s recap the changes to the standard character animations.

Walking: You will notice a difference in the way your character walks when we add the torso joint next week. It gives the illusion that characters have hips that move smoothly with the motion of the legs. 

Jumping: Jumping looks more realistic. Both arms still raise, but the character’s back arches somewhat on the way up. Which brings us to what happens on the way down…


When the animation system is released, you’ll be able to customize every action you take. Pictured above, we’re messing with the idea of raising your knee during a jump.

Falling: Your character now has a falling animation, where his or her arms slightly drop. You can get a sense for how it looks by jumping off tall structures.

Climbing: We created a new climbing animation that looks more like, well, climbing. This means your character’s arms move as if they’re grabbing rungs, and the legs bend and follow suit.


With our new default character animations, climbing actually looks like, well, climbing.

Idling: We’ve programmed several idle animations that go from subtle to bold. Watch what you do when you’re just standing still. We’re planning to expand the idle animations with things like foot-tapping, face-scratching, and even dancing.

EmotePointEmotes: Emotes are actions your ROBLOX character can perform. This is a long-requested feature that we decided to bundle into this release. To see the default emotes, hit the “/” key to chat and try the following commands:

  • /e wave
  • /e point
  • /e cheer
  • /e laugh
  • /e dance

The current animations aren’t permanent–see these as an experiment we’re running in order to gather feedback from you, our players. We pride ourselves on giving you the tools to create any world you can imagine. Why stop there? If you can personalize your worlds entirely, then why can’t you personalize the character that inhabits them? Here’s where this is going.

Animation Creator & Editor

To best illustrate where we’re headed, have a look at this:

This is a preview of our keyframe animation editor, and we’re planning on making this available to all of our builders in the form of a Studio plugin. With the animation editor, you’ll be able to customize your very own character animations. You’ll be given control over each frame in the animation, and will be able to track the animation, beginning to end, with the timeline. When you’re happy with an animation you create, you’ll be able to save it locally, or save it to ROBLOX as an animation for others to download.

If you’re a game creator, this opens a lot of doors. You can make your own character animations and use them wherever you feel they’re appropriate. Making this available to our builders and developers requires that we go beyond developing the editor. There are some things we have to think about. What’s the save/load interface going to look like? Are we going to allow users to upload “sets” of animations, or will each be an individual movement? Should you be able to copy-lock your animations like you can with shirts and models? There’s a lot to think about, and we’re in the middle of this thought process.

The Near Future

Our ultimate goal is simple: we want our builders and developers to be able to be able to flex as many creative muscles as possible. Our grand vision is that, eventually, you’ll be able to download different sets of user-created animations to use with different types of games. If you can’t find an animation set that falls in line with the theme of your game or place, use the animation editor to create your own!

We’re currently in the process of ironing out the details and road map for releasing this big feature, so we don’t have a definitive date. For now, let us know your thoughts on the new character animations and emotes, and the types of animations you’d like to create in the future.