I believe you can accomplish this with using aim-offsets. Simply create the idle turn animations for 90 degrees, and create aim offsets for the upper body. Then you would want to get the difference between the control rotation (look direction or camera direction) and the actor rotation (this can also be used to control the aim offsets). If the difference is greater than 90 or -90, you can then trigger either of the turning animations. If the turning animations use root motion and are montages, it should work.
KingTumTum101 s approach seems legit to me.
And if you dont use root motion you can use a timeline and rInterpConstant to slowly rotate your actor to the new rotation.
Heres a quick and dirty non-root-motion solution I just made:
Its by far not the cleanest solution I guess, but it works very well already and it looks like in the video. Im hope itll point you the right way. Also im open to suggestions and hope someone can give some feedback.
The [turning] varialbe along with the [iMovementDirection] variable are then used in the animBP to trigger the turn state on and off.
https://dl.dropboxusercontent.com/u/25584030/ue4inplaceTurnGraph.PNG
Thanks guys for the answers!
I can not figure out how to properly use an AimOffset for the Yaw Axis , how to divide the upper body movement from lower body , since using " controllers yaw rotation" causes the rotation of the whole actor