Studio Animation Editor Now Supports Keyframe Optimization

Hello developers, we have recently added two new features to the Animation Editor to help you optimize the number of keyframes in your animations, making them more performant and easier to edit.

On-demand Keyframe Optimization

image (18)

A new entry “Optimize Keyframes” has been added to the Animation Editor’s main menu. This tool will display a dialog window with a slider. By moving the slider, you can interactively reduce the number of keyframes. The Keyframe optimization is applied in such a way that the less impactful keyframes are removed first, keeping the resulting animation as close as possible to the original clip.

While the dialog window is displayed, you can still play the animation or move the scrubber. However, all editing operations are disabled (changing a keyframe’s value, selecting keyframes, adding/removing tracks, etc…). This tool is particularly useful for clips imported from the Animation Capture - Body feature.

Automatic Keyframe Optimization

This feature automatically detects and removes constant keyframe sequences from animations. This is automatically applied on Animation Capture - Face animations and when promoting a Keyframe animation to a Curve animation.

If consecutive keys have the same value in a track, then only the first and the last of those keys are kept. The intermediary keyframes are removed.

If the track only has default values (Identity CFrames for KeyframeSequences, or 0 for Curve animations), then the entire track is removed from the animation.


Please try these features out and let us know if you have any questions or feedback!

150 Likes

This topic was automatically opened after 10 minutes.

Wonderful addition! this will for sure make animating a lot less annoying, bravo :slight_smile:

5 Likes

This is really wonderful, but I have to ask, with all the new animation features, such as enhancements to the animation editor, and the new IK instance, is it in the works or even talked about adding a way to scale animations when you play them, so that an animation with translation can be scaled to play correctly with a scaled rig?

Thanks

1 Like
2 Likes

This is a great step forward, but it doesn’t work with Morph Rigs, that animate while attached to a Character, nor does it work with NPC type rigs that do not have a Humanoid.

1 Like

Thank you so much for adding more and more updates related to animation! Most of the updates we’ve seen so far can help lots of people when they are New to Animation.

2 Likes

Wow, this is awesome especially when you’re using Blender to animate as part of your preference.
This new feature of the Animation Editor is really helpful and easy to use and usually you’d have to do it manually but now it is no longer required as we have this to use!

Just to showcase the true power of this beauty, this is an idle animation (not mine) with 152 keyframes:


And here is the exact same animation, but difference being the keyframes reduced from previously 152, to 25 to be exact:


You can really see the difference between the keyframes, and yeah I can totally relate on this part as it hurts others when you like using Blender as your utility tool for animating but when after-importing said animation, it just filled with a bunch of unnecessary keyframes which again, does not look pleasing to the eyes. And the difference of before-and-after procedure, you’re only sacrificing at least a few if not much. I can’t see the difference other than the large numbers of keyframe being staggered away and well, the results were the same really - again, you don’t have or need to do it like mine (25 keyframe reduction) for your animation as it might have an impact on the movement of the animation itself but honestly, I would just mess around with the numbers and just see what’s best for it. Mine I think is 25 because it looks merely the same and so yeah, it is really hefty in some cases.

Now, obviously if you reduce the keyframes to say like, (1/x or 2/x) you would only be left with said keyframe which again, should not ever be used unless you want a pose for that rig or just I dunno, for your own usage that you find necessary to do. My point will be to just pick what is best for ya, and you’ll be satisfied with the end results for sure. If not that, it’s still a thing for you to use whenever and at any time as long as you’re using the Animation Editor while being inside of Roblox Studio, haha.

Overall, this new addition to Animation Editor is a life-changer! I have always thought of a hypothesis on whether if you have many, and I mean, a lot of keyframes on an animation, would it have an impact on the game or not? Regardless of such theory, this feature will gladly help with reducing large quantity of keyframes which again, thank you the Roblox Team for adding such spectacular feature.

6 Likes

Thank you! I’ll never have to deal with setting up events in 1500 keyframe animations again

1 Like

Good update, keep up the brilliant work Roblox!

I have so many animations to optimize with this new feature manually. Is there an API to do the optimization in run time?

Hi there,

Thanks for your feedback.

There is no plan at the moment to add this feature as a dedicated API or service, especially at runtime. The point of this feature is to reduce the size of the animation, which in turn reduces the download times to get the animation playing in the experience. Reducing the animation at runtime means that we would still download the original animation, and on top of that more time would be needed to perform the optimization.

We will discuss internally about a tool to convert multiple animations at once, but we already know there are limitations to that:

  • Some animations can be reduced more than others, and using the same reduction factor for all of them might not be what you want;
  • The method used needs a rig to figure out how to optimize the animation. This means that you would have to pick a rig for every single animation in the set that you want to convert;
  • … and maybe other reasons why this wouldn’t be as simple as it sounds, because it never is :slight_smile:

So, at this time, there is no promise such a tool will ever be released.

2 Likes

I have a feature request. If a tool is parented to a rig that you are animating, can the tool’s keyframes be shown? Animating my shotgun has been a pain, because I cant properly modify keyframes for it, making animations look janky.

1 Like