Search Issue Tracker

By Design

Votes

15

Found in

2017.3.1p4

Issue ID

1016530

Regression

No

Animator transition parameter is ignored in a transition from entry to another state and animator transitions to a default state

Animation

-

To reproduce:

1. Open the project, attached by the tester (link in edit)
2. Open the "BugTest" scene
3. Select the Third Person Controller object
4. In the Animator window, go to Wrapper -> Locomotion -> Locomotion States
5. Enter Play mode
6. Left click inside the Game view and observe where the transition goes in the Animator window

Expected: the transition parameter in a transition form Entry to another state is not ignored and in the case where parameters are correctly set for the animator to transition to a particular state, it should transition to that state instead of the default state

Actual: when a state in a sub-state machine exits via exit state and that sub-state machine doesn't have a direct transition to another sub-state machine, animator ignores other transitions from entry and just transitions to a default state

Reproduced in 2017.1.3p3, 2017.2.2p3, 2017.3.1p4, 2017.4.1f1, 2018.1.0f1, 2018.2.0a8

  1. Response avatar

    Resolution Note (fix version ):

    This behavior is actually by design.

    Here is what's happening:
    When there is no transition at the exit of a sub-state machine (like in Weapon here), it selects the default state of the sub-state machine (the state at the end of the orange transition from the sub state machine entry) which, in this case, is Locomotion > Locomotion States > Relax.

    Said more generically, take two sub-state machines A and B. A contains B.
    If a state in B transitions to Exit, then it goes back to A. If, in A, B is not linked to anything, then the state machine has to find something to do.
    The behavior in that case is to take the default state of A (the orange transition from Entry). It finds the state at the end of the orange transition, i.e. it doesn't tests the transitions in the Entry nodes.

    To fix this problem, ensure the sub-state machine transitions to something, so that the state machine doesn't have to find a default state that is probably not the one you want.

Comments (4)

  1. D07082d6f0e0df055386aa35cb88e1fa?d=mm

    Gstewart

    Feb 09, 2019 00:38

    I'm having the same issue. It somewhat defeats the point of the entry state on the base layer if it can only go to the default. It simply does not function in the expected useful way.

  2. 4beec1ec428b58f29782be9b13f89326?d=mm

    evand

    Nov 07, 2018 17:45

    Please re-open and fix this. We either need a glitched animation for one frame or to have dozens of manual transitions to make animations work. This breaks substates almost entirely.

  3. 34453cdaebf7bfca935b181de6f78677?d=mm

    boutinma

    Oct 23, 2018 17:47

    I totally agree with NEPOEZ.

  4. 6ccdfa91a1ff1f27af26eb05540d79c6?d=mm

    nepoez

    Oct 02, 2018 02:19

    This problem is causing some real bad results. It would be real nice to fix this. The Animator would be better off if it had no default state! Or else just let the conditions take priority. Please fix this!

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.