Hi there! I've got a question: I have a 2D Player Character without Walking Up and Walking Down Animations, only Walking Left and Idle Left. I use these 2 Animation states for everything.
My problem now is that in some cases my character is walking backwards (= Walking left is played although Walking right should be played) when I move him upwards in the scene. This can best be seen in this gif:
Is there a way to fix this, e.g. to tweak some "Player is moving upwards" values? I've tried a lot of things, even adding all mirrored Animations by hand and disabling the "Frame Flipping: Right mirrors Left" setting.
Thank you very very much!
Comments
Sprites Unity Complex allows you to build your own Mecanim FSM based on parameters that AC will send to it (e.g. a "Move speed" float). One of these parameters is the angle that they're facing: therefore you can make an FSM that plays right-facing animations if the angle is between 0-180, and left if 180-360. (The angles might be the wrong way around, but you get the idea)
I have only 1 issue: Idle down is ok, but not Idle walk down. Angle parameter is set to "less than 45" and "greater than 315". Any idea? It's ok with Right, Up and Left.
The forum is here to help those with problems, of course - but being a more complex animation type, it does require a knowledge of how
Mecanim works beforehand. I'm not clear if your confusion is down to how Mecanim itself works or AC's implementation of it. I would definitely recommend you watch Unity's own tutorials
on Mecanim parameters beforehand if you're new to that particular area.
Sprites Unity Complex essentially works by manipulating the Mecanim parameters that you allow it to by writing them in the Player's Inspector. You don't change those values (e.g. "Speed") yourself - AC will do that for you - what you need to do is add them to the transition conditions correctly. But if you're not seeing those condition fields, it sounds like there's an issue more to do with Unity here.