New Settings Available in the Animation Editor

Thanks @PierceMikyoto, and yes, we are currently working on adding curve-based animations to the Animation Editor! Stay tuned :slight_smile:

1 Like

Hey @Ryl0P, the playback speed adjustment is only available in the editor. You can’t access this feature with scripts during gameplay.

1 Like

Thank you so much! It’s really good progress. I’m sure it will help me increase my animation skills. :slight_smile:

1 Like

YESS… i wanted this for SO LONG.

1 Like

Best news I’ve heard in a while! Please do add more easing styles though! Like Back! And Quad and whatnot! Would be really nice, and maybe a graph to see what the easing looks like via a graph like moon!

Does this mean I can mark this bug report of mine as solved?

Hi @PezzoGuy, yes this new update resolves the bug you filed a while back. Thank you for bringing that up to us :slight_smile:

2 Likes

Woah, thats amazing. do you plan on adding NLA strips to?

1 Like

Hey mods! I really like this update, while I use Blender Animations for animating rather than the built-in animation plugin, this will help alot if I look on to making animations on your animator.

Speaking of Blender, you should add built-in Blender support instead of having to download an additional plugin to import animations from blender into roblox. It’d be very helpful for many people. Thanks!

Loving the new features, The frame rate change is really useful to add small details for my action based animations. Been having some fun messing around with the playback speed and all of it’s new feature!. I am really thankful for all of the new features.

2 Likes

Pretty cool feature but it looks like Moon Animator is improving more than the official plugin. So I won’t use it

1 Like

built in blender support would be so cool. having them linked would be great for productivity.

1 Like

I think if we change the animation speed in the editor, that should be saved as the default speed when saving to Roblox (the same way it saves Priority and Animation Events).

I was disappointed to find out this wasn’t the case. My game is very animation heavy, so the fewer things that can only be resolved by script, the better.

Also, I didn’t see the option, but this would be the perfect time to set up animations to play in reverse as well (speed = -1).

Solid additions. Is there a way that we could get custom easing function support? It’s niche but, I have written my own easing methods and it would be nice to route it into the animation editor. I’ve been able to do it with blender and it’s been quite cool. Definitely something experienced users would love to have.

Edit: An increment input for determining the movement of nodes or key frames would also be nice.

1 Like

Awesome Thank you @HaloArbiter_101!

Hey @sanjay2003, those are good feature requests, thank you! I will bring this up with the team :slight_smile:

1 Like

Hey! I have a question in regards to how curve-based animation will work, as this is potentially game-breaking for our experience.
This is a bit of a long-winded explanation, so bear with me here:
Our studio’s game calculates hitboxes on the client using raycasts, and then sends that raycast data to the server.
Now, the server needs to make sure that the hits aren’t spoofed by an exploiter, and so it’s verified by rolling back the whole animation of that character and verifying from there.

How the rolling back process currently works is it finds the left and right keyframes from an input timeposition: so, if you input the timeposition 0.45, and your keyframe list looks like this:

{
 -- [time] = Keyframe
    [0.3] = Keyframe,
    [0.4] = Keyframe,
    [0.5] = Keyframe,
    [0.6] = Keyframe
}

then the code would find the neighboring keyframes at 0.4 and 0.5.

Now, the tricky part comes in where you need to calculate the limb CFrames from the Motor6D CFrame data provided by the pose objects, and is also what I’m worried about right now. I lerp the CFrames of the left keyframe’s poses and the right keyframe’s poses, and I calculate the alpha argument like so:

local function GetAlpha(Time, LastPose, NextPose)
	local TimeChunk = GetTimeFromPose(NextPose) - GetTimeFromPose(LastPose)
	local TimeIn = Time - GetTimeFromPose(LastPose)
	local Weight = TimeIn / TimeChunk

	return EasingStyles.GetEasing(LastPose.EasingStyle.Name, LastPose.EasingDirection.Name, 1 - Weight)
end

Now, you mentioned:

  1. Adding curve-based animations
  2. Possibly custom easing styles

and so, I’m a bit confused in regards to how I’d calculate the alphas with the custom easing styles. I currently use the same module as the animation editor’s (EasingStyles), and if possible, I’d like to know how I would go about rewriting this code to support the future updates.

Best regards.

There is an issue where changing the frame rate will not do anything.

Hey @KillzIsSomeRandomGuy, can you file a bug report on this issue you found?

Is this the issue where frame rate no longer changes the length of the animation? That’s part of the latest changes.