Hi Chris, the 1.82.1 update broke two different things about my speech menus:
(1) During the speech menu transition, the "ActionList when turn on" fires off dozens of times. To reproduce this, add one such actionlist to a speech menu with a transition and set it to increase a variable by 1.
(2) Previously, the Custom Animate States' transition time did not control the Unity UI animation duration - I think it only controlled the time the animation was supposed to be over by. I found this ideal because, for whatever reason, if I made my custom animations to last 0.2s and set the AC setting as 0.2s too, AC always seemed to force the animation to finish halfway through. Using a longer duration in the menu manager gave the animation time to run all the way through WITHOUT AC forcing the animation to slow down to whatever duration I set the menu to (which is what it does now).
Another disadvantage of the current approach is that it doesn't allow for ON and OFF animations of different durations. I'm really struggling with this. AC is truncating my OFF animation (which is admittedly a little more complex than usual - it uses a couple of different variables/transitions to account for the different positions of the tail), and I can't get it to work. Previously, I just set the manager's transition time to 0.7s, and AC was more hands-off about controlling my animation transitions. It just let them run. Now I either set a short time like 0.2s (which makes the ON animation look good, but gets the OFF animation truncated), or I use a really long time like 0.5s (which makes the ON animation too slow, but the OFF animation doesn't get truncated).
This is my animation controller, if it helps you visualise this:
"On" is a short animation that opens up a speech bubble. "Bottom" and "Top" are animations that pull out a little tail from the speech bubble depending on where the speaker is standing in relation to the position of the bubble, once the main part of the bubble is visible.
"Off" has no animation attached to it, and its transitions last 0s. The transitions from "Off" to "Bottom off" and "Top off" are based on the tail variable I described above. For example, if the bottom tail is visible, then the "Bottom off" animation runs (it pulls the tail into the main bubble), and then it transitions to "Off end", which collapses the main bubble.
I'm having trouble getting this to work with the new way the transitions work in AC.
It looks like you're new here. If you want to get involved, click one of these buttons!
Comments
Recreated - thanks for the bug report.
Since v1.81? There were no intended changes made to the transition system.
To be clear: it's the transitions that are somehow slowing down - not the animations themselves?
`
Does the menu pause the game? If so, check that your Animator is running in Unscaled Time.
I updated from AC 1.81.7 to AC 1.82.1. The change happened between those two versions.
The menu doesn't pause the game, but the animator was already running in Unscaled Time, in any case.
Sorry, I misspoke! I meant "the new way that menu transitions work in AC" - i.e. the options in the menu manager that now seem to affect the duration of the animations assigned to the Unity UI menu's animator.
Before 1.82.1, the timing of the animations was fully controlled by the animator and its assigned animations. The "transition time (s)" within AC's menu manager appeared to be the time AC allocated to the transition, during which it allowed the animator to do its own thing. If the animations exceeded that time, AC would cut them short, but otherwise it wouldn't mess with them.
After 1.82.1, the "transition time (s)" field appears to control the animation duration of the ON animation - if you set it to 0.7s, as I did, it will now slow down the ON animation, even if that animation file is about 3x faster than that.
I've made a video to illustrate the issue:
From 0:00 I demonstrate how it works in AC 1.81.7. Notice the "transition time (s)" value (0.7), and how both on and off animations run fully AND at the correct speed, completing in significantly less time than 0.7s.
From 0:50, I switch to AC 1.82.1. First I run the scene with the exact same settings as I did with AC 1.81.7. Notice how slow the speech bubble ON animation is. The animation chain following OFF, for whatever reason, does run at the intended speed and is given enough time to complete.
From 1:45, I change the "transition time (s)" value to 0.2. Notice how now the ON animation looks snappy, as intended. The issue is that with these settings, the OFF animation chain barely even runs - you can see the speech bubble simply disappear on the Game window.
From 2:45, I change the "transition time (s)" value to 0.3. This is still a reasonable value for the ON animation (it doesn't look bad, though I prefer 0.2), but notice how the OFF animation chain still looks a bit truncated on the Game window - the speech bubble starts to collapse, and then disappears halfway through the animation.
Not included in the video: changing the transition time to 0.4 or 0.5. Here the OFF animation starts looking more complete on the Game window, but this is where the ON animation starts looking a bit too slow. There's no compromise value where both ON and OFF look good.
It's likely that both issues are related. I'll look into this, thanks for the details.