I’m trying to set up a ship in a vertical-scroll shooter. It’s 3 sprites: straight(idle), lean left, lean right, and using PlayMaker to call Animator states* (bools) of those on Horizontal axis input (just “Get Axis” actions, not “key up/key down”).
Works fine in the regular 4 directions, but I want the “lean” sprites to be the “dominant” ones when traveling diagonally. And right now they’re not: for example, I will press and hold left, watch the animator state activate “left” for a second, then push the down arrow at the same time and watch that take over and kill “left.”
Somehow this succeeds in one direction – When going up-left (or left-up!), the “left” state properly plays and stays! But not with the others. I thought maybe it’s because up and left are the positive and negative of Vertical and Horizontal except diagonal movement/velocity works how I want it.
I’ve tried this with Animator state transitions, without transitions, with one or two transitions, and I get nothing but the same result. This looks so basic/natural in actual shmups, so I wonder what I’m missing, and can’t tell if the culprit is Playmaker or Mecanim, or something deeper in Unity.
*I’m using the 2D and Animator PM extensions.