Quick Start, Quick Stop and Quick Turn abilities

SynX

New member
I don't get how they work, the start one never ends: it plays even if moving; the stop one never starts, and the quick one plays but don't transit back to movement when facing the new input direction: it just plays the quick turn animation... I will provide more details, screenshots ecc.

p.s. for the transition conditions I took inspiration by the demo controller (i copied)
 
Check your animation events. Those animations require the OnAnimatorStopMovementComplete animation event to indicate when the ability should end. For the stop one you can adjust the sensitivity settings on the ability itself.
 
Check your animation events. Those animations require the OnAnimatorStopMovementComplete animation event to indicate when the ability should end. For the stop one you can adjust the sensitivity settings on the ability itself.
I tried to add it but it's still like this... whether i'm moving or not the quick start ability remains active and the moving state just loops

Screenshot 2024-05-10 141110.png
 
It doesn't look like the ability is ending so it's not receiving the event. The start ability requires OnAnimatorStartMovementComplete. Did you add that event name? You can confirm by placing a breakpoint/log within QuickStart.OnStartComplete.
 
It doesn't look like the ability is ending so it's not receiving the event. The start ability requires OnAnimatorStartMovementComplete. Did you add that event name? You can confirm by placing a breakpoint/log within QuickStart.OnStartComplete.
ok, thanks, and for the quick turn? can I ask where these events are written in the documentation? because i can't find them... i've found others but not thone ones.
 
so, the problem that i am facing is between quick Start, quick Stop and quick Turn: I have 3 Start/Stop animations for Walk, Jog and Run and 4 Turn animations (2 walk R/L foot and 2 run R/L foot).

among these animations only the Start Walk and the Stop Walk ones work, BUT, while moving (walking, jogging and running) the ability index is equal to 6 and after stopping movement the ability index remains equal to 7 (even if it switches back to the idle animation).

Basically it kinda works, i guess? but not as intended, because only start/stop walk animations work and i want the jog/run animations working too.

I saw that in the demo animator when moving the ability index is zero, i setted it up like that but now it doesn't move.
 
Have you tried setting a breakpoint to debug if the events are occurring? Quick Turn uses OnAnimatorQuickTurnComplete - you can see the animation events that it uses within the Awake method or by looking at the demo animation. I recommend setting up one at a time and getting it working before moving onto another ability.
 
Have you tried setting a breakpoint to debug if the events are occurring? Quick Turn uses OnAnimatorQuickTurnComplete - you can see the animation events that it uses within the Awake method or by looking at the demo animation. I recommend setting up one at a time and getting it working before moving onto another ability.
How can i set one?
 
For set up one at a time I was referring to the abilities. That will reduce the amount of confusion. You an also debug with the debugger or log statements.

Also, just to see if it's a problem related to the ability or the animation, have you tried setting up the ability in the demo scene with the default animations?
 
For set up one at a time I was referring to the abilities. That will reduce the amount of confusion. You an also debug with the debugger or log statements.

Also, just to see if it's a problem related to the ability or the animation, have you tried setting up the ability in the demo scene with the default animations?
I looked up different things, basically i've found what I think keeps breaking everything: LegIndex.
My animations are fine, the only thing now are the curves that are not setted up. As my animations are different from the demo ones, should I do custom curves? In case, should I put keyframes each time a foot touches the ground or just 4 keyframes at a distance of 0.25 from each other (0 to 1)?

Thanks,

I could be close to fix it.
 
I tried a custom curve with 4 keyframes at 0.25 distance from each other, but i didn't notice that i have NEGATIVE LegIndex values in the param list... Any suggestion?
 
The LegIndex is an animation curve that is not used in the controller logic anywhere. It is only used for transitions, and while we only use positive values, the actual values of the LegIndex are whatever you define them to be. There can be any number of keyframes and it is just based on the transitions that you have setup using that parameter.
 
Top