New Animation Curve Editor: Fine Grain Control of Animations

it likely does what the blender > roblox animator plugin does where it converts the curves to a bunch of linear easing style keyframes. give it a shot and if that’s the case, then yes this would work in-game.

7 Likes

It does not, though! :slight_smile:

We use the new CurveAnimation system (see CurveAnimation, Vector3Curve, RotationCurve for Quaternion rotations and EulerRotationCurve for Euler Angles rotations) that was introduced as part of this same Beta Program in December last year

These channels are independent and can have a different set of keys associated with them.

13 Likes

Oh man this is awesome definitely can’t wait to try this out, this is a much needed feature to roblox. Glad it’s added it will make doing animation much better.

4 Likes

We ab-so-lute-ly agree! :smiley:

It definitely is a different take on orientation animation and it might require some getting used to, but once you have defined your important poses, tweaking the interpolation between them should be much easier than adjusting the three angles separately.

Plus, no more gimbal lock!

9 Likes

Okay, now this is REALLY cool.

I find it a lot easier to make an animation with the old editor, and then use the curves to fine-tune it. (this might be intended use tho lol)

This is reaaaaally useful for making animations look a lot more fluid and natural.

So, does this work in games? If you upload a curve animation and use it in a live game, will players be able to see it?

1 Like

The new Channel Animation format does not use TweenService at all. As a matter of fact, we have even retired Bounce and Elastic easings and they are not available for that format (they are still available for KeyframeSequence animations, though!).

Instead, we only rely on constant, linear, and cubic segments between two successive keys. However, we added tools to generate cubic curves that match the Bounce and Elastic easings, but those tools are only available in the Curve Editor, so animators can still create the same kind of animations they are familiar with.

For your specific use case, I think I would keep the current implementation. Setting up two RotationCurveKeys within a RotationCurve within a CurveAnimation would carry quite a lot of overhead for a relatively simple interpolation between two CFrames.

10 Likes

Nothing short of amazing, this helps with conveying animations to appear as if they have weight and fluid motions. I hope to see more features akin to other engines such as unreal.

2 Likes

This is ONE of my favorite features so far, thank you so much to everyone involved, my part of work this week is just constant animating! This will save so much time, importing to Roblox Studio after being finished in Blender to tweak around keyframes is the best thing ever! Well, you could but now you have more controls.

So excited for the future of this feature! :purple_heart:

5 Likes

Thank you for the insight! To clarify on the last paragraph, would the current code work as expected with current and future animations? A bit confused on that regard.
As you mentioned the new animation format not using TweenService but rather constant, linear and cubic, if I have two Poses with Cubic easing styles, would EasingStyles.GetEasing return the same alpha value as what the actual animation would calculate in-game? A bit confused if only the animation-editor end was changed, or in-game also.

1 Like

Amazing! The animation editor was in great need of something like this and I’m glad it’s here!

Sorry moon animator…

2 Likes

Using a Channel Animation, I suppose LastPose and NextPose would both be keys in a RotationCurve instance (so you can store CFrames), each with their own time. You can then use GetValueAtTime to get the interpolated value. This would also involve the InterpolationMode of the LastPose (Constant, Linear, Cubic) and for the latter, the tangents of both keys.

Note that the Rotation is only designed to store orientations, so if you are also interpolating between two positions, you would have to do the same operation with a Vector3Curve.

4 Likes

This was a long-needed addition to the incredibly basic animation editor. I applaud the team for putting this in!

I will make it clear that this is an incredibly valueable tool when animating, because it can turn any animation into a completely different style, or even just fine-tune movements.

5 Likes

I’m not an animator I have no clue what any of this does. Can someone give us an example like a before and after using the new feature to showcase the update in video format?? :pray:

4 Likes

Before today, the only way for developers/artists to create an animation in the ACE was to use the DopeSheet view. While this is a standard way of manipulating each pose the animation goes through, its representation is lacking some visual information. You can see an example of a DopeSheet in the post above (that’s the first screenshot, the one with all the little diamonds).

The new Curve Editor is another standard tool, but it gives a much better representation of how a value evolves over time. For instance, the next screenshot shows two blue curves going from 0 to 0.10 and 0.25 respectively. This is much more intuitive. Additionally, adding tangent controls allows artists to fine tune their animation even more.

5 Likes

I was sure this was already a feature, but apparently not… :upside_down_face:

Probably won’t use this much since I only animate every now and again but seems incredibly useful.

2 Likes

Yes, any curve animations you create (with or without this new curve editor) will be usable in your experiences!

3 Likes

I tested it, and it’s not working for me tho, I use an AnimationController in an empty place I own and it just doesnt move, but in the editor works fine

Im using this in the command bar in-game,in client and server and it just doesnt move
workspace.BuildingHammer.Animator:LoadAnimation(workspace.BuildingHammerAnim.Equip):Play()

is it out for using?
image

1 Like

Can someone post a comparison video? My PC isn’t set up currently (just moved), and I can’t check the update myself.

1 Like

Splendid.

Just a question, will this work for the Blender plugin that is used by many animators like me?
The plugin exports every single frame as a keyframe, so I do not know if it’d be easy, or even possible, to be able to use this feature with it.
Amazing feature nonetheless.

1 Like

Nice to see an important change. Having a tool to compete with Moon or using Blender to animate has been long overdue.

1 Like