Character jitters and rotates in certain direction.

I need a movement system where the character walks backwards without rotating but still retain it’s rotation for left and right (for the purpose of dragging objects)

I found a way how to do it but now it has this bizar problem where when i walk backwards the character will always try to orient itself with the X axis and when its unable too spazzes out.

example video: Screen capture - d86c76426b28638e18e608122bd1fc67 - Gyazo

I’m not touching any rotation buttons while walking backwards, the character does it by itself.


i’m using the normal third person movement, only using actor rotation to get the desired movement result.

What am i doing wrong, and how do i get the movement system i need without this happening?

First of - you probably want the Control Rotation. Second of, you probably want to ignore the X of roll. Directional movement doesn’t usually take angle into account.

Third.
It’s not “spazzing” out per se. you are seeing the blend-space get confused by the constant swapping between 180 and -180

Fourth.
The reason is actually in the animation blueprint and it has to do with how you calculate direction.
Normally a specific node does the math for you using actor rotation and velocity.
This is normal, in terms of math. for several reason; your direction, calculated the way it is, is almost never constant.

Fifth.
How you actually fix this is in the state machine.
Split your forward states from the pure backward state (the only one that should be swapping between positive and negative values).

Then manage the Direction value for the backard state within the animgraph as a >= 170 OR <= -170
This will lock down the backwards motion even if the value swaps between positive and negative.

Thank you, in the i did not need a different movement input setup, your answer did give me a bunch of insight on how to get everything working as it should!