Animator stops halfway.

With this setting, if you set the speed to 999, the animator stops.
If Exit Time is set to 1.0, it will not stop.

I want to make it not stop at Exit Time 1.5, but please let me know what to do.

Unity2017.3.1p4

Find your Attack_act animation in your assets folder, select it, and set “Loop Time” to true in the inspector. If that is false, your animation will stop at “1” and not continue.

2 Likes

Thank you for answering.

But that did not work.
When “Loop Time” is set to ON and “speed” is set to “9999”, looping starts on the spot.
There was no transition to “Attack End”.

Do animations and animations have to be adjacent to each other?

Hmm… that’s puzzling. Could you upload a screenshot of the same thing but with Loop Time turned on? A screenshot of your animator graph might be useful too.

Also, are you setting speed really high for testing, or does your game actually need that?

Thanks for the reply.
then, Probably my wording will be wrong.
I am sorry that I am not good at English.

I took some screenshots.
3461756--274590--img1.png
3461756--274592--img2.png

The setting is as per the image of the first sheet.
However, like the second image, the animation loops with “Attack_act”.

Actual “speed” is “3”. However, stop very rarely in this place.
The symptoms at that time are similar to those when “Speed” is set to “9999”.

As a result of experimenting various things, first set “Exit Time” to “1”.
Next, prepare the Float type parameter for setting the active time in “Parameters”.
Use the script to copy the active time to that parameter.
Finally, set the parameter prepared for “Conditions” and enter “1.5” as the condition.
In this state, “speed” works even if it is “9999”.

But this is avoidance of the problem, not a solution.
Is this a bug in Unity?
Or is my way of making bad?

Please try again to set the “cha03_attack01” animation “loop time” to on, save the scene, save the project, then check the animator.

In the following screenshots, the first screenshot shows what my transition graph looks like with “loop time” disabled on my “fireball_Idle”, and the second screenshot shows it with “loop time” enabled. I would expect to see your “Attack_act” animation shows multiple times in the transition window if looping is turned on.

3465510--275016--C1.PNG 3465510--275017--C2.PNG

Thank you for your response.
I am sorry that my response was delayed.

Certainly the loop was not well preserved.
I turned on the loop again, but there was no change in the result of looping on the spot.

3472204--275885--img.png

As shown in this screenshot, we loop and stop in the middle of “Attack_act”.
For some reason, if you set “speed” high, it seems necessary to set “Exit Time” to “1”.

Hmm… I’m not sure there’s any way to deal with that. Maybe you could set the animator not to update, then call “animator.Update(Time.deltaTime)” each frame, but I’m not sure that will work.

I can think of two workaround solutions, but they’re not great:

  1. Don’t set the timeScale really high. If you want to set the timeScale to 9999, instead, set a variable you create (maybe “timeSpeed”) and have each object that should speed up use “Time.deltaTime * timeSpeed” instead of just “Time.deltaTime”.

  2. Duplicate each animator transition, add a new bool for “fastTime”. Have the originals work with 1.5 exit time and “fastTime” is false, have the duplicates work with 1 exit time and “fastTime” set to true.

Thank you for suggesting workaround.

I wanted to find a solution if possible, but it may not exist.
I decide to expect Unity updates, and I will install a workaround for this problem.

I really appreciate your cooperation for a long time to solve this problem.
Thank you very much.

I had the same problem , you must click apply after you check the Loop