Animation Engine - Runtime Changes and Fixes

The animation editor is currently not allowing selection of any priority! Someone has already made a nice video of the new behavior in this thread:

2 Likes

@AllYourBlox Are there any plans for providing us with ways to seamlessly transition between animations?

This is somewhat easy to solve right now with the current weighting behaviour (simply keep animation A playing while transitioning to animation B), but my understanding is that this will not work with the new animation weighting.

“Delay between AnimationTrack:Play() being called and actual changes to the rig happening”, asset loading issues, and replicating server-side animations to clients are the main things that seem to make seamless transitions difficult.

I’ve updated my Sonic morph to respect the new animation stuff by changing the priorities for a fair few of the animations that needed it. If I find any weird bugs or inconsistencies, I’ll post them here, but for now, I’m happy to say it seems to be working fine. Thank you for these extra priorities, they’re a life-saver.

image

Option 1: How are we supposed to go through each animation and edit the priority? which would take even longer than Option 2?

Option 2: Doing our own replication and adjustments to weight would require a major reconstruction of our framework
which is just putting tens of hours into needless work just so our game can be viewed as intended whenever this compliance option gets deprecated

Option 3: Our animations are loaded from the client which means changing priority does not replicate to the server, which leads back to us performing a large reconstruction of our framework

We might as well scrap the thousands of hours of work with the deprecation of Enum.NewAnimationRuntimeSetting.Disabled thundering above the horizon

Being arguably forced to start from square one because of the way we’re taught to create and use animations on this platform shows an incompetent team behind ROBLOX

4 Likes

I agree that the update is frustrating. I’ll commend AllYourBlox for going through the effort of adding more priorities to make switching relatively easy, but for larger-scale projects, yeah, this is frustrating. I don’t mind the changes to animations themselves, but because of how common-place stacking animations of the same priority has become, I see it as a totally pointless change to add this new blending behavior when the blending behavior doesn’t produce any desirable results, at least not any that are in the foreseeable future. I don’t see how having two animations awkwardly combine is helpful in any way to the developer.

I still wish this behavior would be changed so that the performance increase could be applied while there was no need to drastically change what already works. Updating animations isn’t fun.

2 Likes

We’re finally moving today to Phase 2 of this rollout. What this means is default behavior of Workspace.AnimationWeightedBlendFix is becoming Enabled, rather than Disabled. If your game was affected and you have this property manually set to Disabled, it will remain opted-out for the duration of Phase 2. During this phase, you should be working on making whatever changes are needed to make your game work with the property Enabled, since Phase 3 is removal of the property, leaving it fully enabled for all places.

For blending breakage related to reliance on the stack-like behavior of same-priority animations, the simplest fix is to make use of the Action2, Action3, and Action4 AnimationPriority Enum values to override Action priority animations temporarily, as you would have previously done by simply playing another track at Action priority (which worked most of the time, though not as reliably as developers believed).

5 Likes

Has the date for Phase 3 been determined yet?

Also, if the integer animation priorities get added, how would they work with old animations? Would it just be a completely new property replacing the old Enum property, or would they take on some value depending on the Enum value? (for instance Action priority = 100 integer priority, or something) Will we need to resave our animations again… ?

Can we expect to see this issue fixed soon? I have a lot of animations with a marker on the last frame of an non-looped animation that does not get detected like YosemiteMe and Entelogical also reported in this thread.

2 Likes

The ability to disable this blending mode should not be deprecated for any reason. Massive projects with hundreds of animations do not have time to update each animation, and the animation blending simply does not look good. This is a disappointing update.

17 Likes

Honestly, I get the feeling it’s not really being done for the benefits right now, but probably to prepare for stuff in the future like facial animations and that sort of thing.

I honestly agree that it’s disappointing as it is now, but I don’t think it’s going to be preventable at this point.

3 Likes

This update is just totally disappointing since we all know how much games has tons of animations and this update is breaking every single animation on all the games. Many people doesn’t have the time to update each animation one per one because of this. Plus as TheLamentedStar said, it doesn’t look that good.

11 Likes

Has Phase 2 even been tested at ALL before release? Hundreds, probably thousands of games animations are currently broken (including mine) now due to this update, and will probably be permanently broken if they push the Phase 3 update.

Absolutely disappointed, hopefully, they at least keep an option to disable this as to save developers mountainous amounts of hours of having to reanimate everything.

13 Likes

Exactly, this bug is insanely bad my players are complaining heavily. roblox should revert this

1 Like

The new engine for sure will help out in more new/modern game development or further in-depth animation, but as multiple older animation-heavy games rely on overlapping animation tracks (with some even having more than half a hundred of them) there’s no real reason to force this blending feature onto these games with the amount of time it may take to manually multi-step patch fixed animations into their own game. At that point just allow developers to turn off the blending so they won’t have to deal with such a potentially long process.

7 Likes

i made a topic about that problem and then 4-5 people were messaging me with the same response.
im tired of roblox doing this without an option

2 Likes

While I’m glad you are able to opt-out for now, but it would be very beneficial to keep it togglable. Currently, my biggest game is completely animation focused, and today I woke up to my playerbase complaining about the animations being broken. I was able to fix it, but now it’s very distressing to know I will have to manually update 480+ animations when this could very easily be prevented if this update wasn’t forced.

5 Likes

my game has at least 90-100 animations and i dont feel like reuploading every animation. this is bizarre

4 Likes

100% agree. What is with ROBLOX and fixing things that aren’t broken?

Also, I’m trying to figure out where it would be preferable to have 2 animations overlapping and merging rather than have the latter one play to completion, then go back to the former.

Roblox made a really good mistake, then came back 8 years later to ‘fix’ it into something that has literally ZERO use cases.

Why!? It’s like they’re trying to make their beginner-friendly game maker platform as needlessly complex as they can!

5 Likes

Phase 2 only changes the Default setting of Workspace.AnimationWeightedBlendFix, it does not add anything new to test that hasn’t been live for months, and it has been enabled since last June in a sampling of top games in order to make sure any new (unexpected) breaking changes were not sneaking in to the new animation engine.

The purpose of the 3-phase rollout is to provide developers lots of forewarning when it’s known that a change like this is going to cause breakage, and plenty of time to test and prepare (Phase 1). In this particular case, developers had 8.5 months enable the new behavior and “smoke test” their games.

Phase 2 is the opt-out phase, so that any developer who did not test against the changes and is now discovering their game is broken is still able to fix the problems themselves by setting Workspace.AnimationWeightedBlendFix to Disabled and republishing their game. For these affected developers, now is the time to start working on addressing the problem animations to bring things into compliance with the published AnimationPriority API. I’ve added 3 more levels of priority specifically to address the known issue. In most cases, blending issues should be solvable by promoting any animations that were relying on stack behavior to use Action2 priority. Action3 and Action4 are also available to address the case where developers stack multiple Action-priority animations, though this is relatively uncommon. In some cases, code changes may be easier. Our recommended solutions are outlined in more detail in the original post.

For anyone who is discovering issues, please do still provide us with a link to your affected game. While a particular type of blending breakage is expected, we do want to know about anything unexpected that shows up, and playing known-affected games is the easiest way for us to identify any new issues.

1 Like

Although in my use case, thanks to the extra priorities, I was able to get away relatively scott-free, I can definitely see why other people are unhappy. They are going to have to reupload hundreds of animations.

If someone has an animation system set up where 50-100 animations all use the action priority specifically to overtake something, for example, different poses playing over another action animation, and they can’t lower the priority of the animation being over-written, they will have to manually reupload all of those hundreds of animations. Yes, they’ve been given a lot of time to do it, but most of them were blissfully unaware of the update, and a lot will probably continue to be. It’s not fun to do and it takes a lot of time. It’s incredibly labor-intensive for something that results in no pay-off beyond fixing something that was broken.

Given that animation-based games are a pretty significant genre of games on Roblox right now, I’d really be expecting this type of backlash to a much more severe degree once Phase 3 inevitably rolls out. Most developers unfortunately probably aren’t going to bother checking this until it’s already too late. Scripting is also a far from ideal solution, because I imagine a lot of animation-centric games probably don’t have many scripters, and so the only real workaround is reuploading things.

While I don’t take issue with most of the changes made, I do have to agree with TheCrimsonKing. I see no use case, at least for the average developer, where having the animations blend together is a desirable outcome. There’s just no reason to attempt to use it because it doesn’t look good. It looks broken and awkward because of the nature of a “middle” pose.

9 Likes