Issues w/ 2D shmup ship "lean" animations on diagonals

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.

Solved! First I had to (re)watch this video on animating sprites, which by the last third of it, teaches you how to create and set Animator floats with Playmaker to call the animations you want.

Unlike the video, I stopped short of creating multiple Animator states/transitions, instead creating a Blend Tree on a single state that had fields for Left/Right/Idle, or -0.1/0.1/0 thresholds on the x-axis. This better handles when to call the animations, and by not involving the y-axis here in any way, it doesn’t “know” when the ship moves up or down and keeps the ‘left’ or ‘right’ animation when activated, then snaps back to idle when neither happen.

Basically, I learned that Animator transitions weren’t smart or efficient enough for this, and that math is the answer (as always?!).