Hey @Ryl0P, the playback speed adjustment is only available in the editor. You canāt access this feature with scripts during gameplay.
Thank you so much! Itās really good progress. Iām sure it will help me increase my animation skills.
YESSā¦ i wanted this for SO LONG.
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
Woah, thats amazing. do you plan on adding NLA strips to?
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.
Pretty cool feature but it looks like Moon Animator is improving more than the official plugin. So I wonāt use it
built in blender support would be so cool. having them linked would be great for productivity.
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.
Hey @sanjay2003, those are good feature requests, thank you! I will bring this up with the team
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:
- Adding curve-based animations
- 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.
Is this the issue where frame rate no longer changes the length of the animation? Thatās part of the latest changes.
The curve based animation format actually supports that kind of thing more naturally: Since curves are the main primitives in the new system, and those curves contain keyframes, the workflow that youāre talking about will actually be simpler. Youāll just be able to ask for the interpolated value at a given time right on the curve instance rather than having to do busywork yourself to figure out the interpolated value by looking at keyframes.