Rotational movement while holding still via blendspace

I know I’ve done this before and I’m just having an epic brain fart I can’t get out of.

I have a walk/run/idle 1D blendspace. I am using a layered blend per bone to blend this with another blendspace that is exclusively for rotational movement (the character is an animal and I’m aiming for a realistic 3rd person feel with movement). The BS_Turn blendspace is just an axis of -30 to 30 currently with 2 grid divisions (this will be extended on later but right now I just want it to work).

Capture3

My issue is that in the BS_Turn blendspace I need to use the rotation of the camera to determine what part of the blendspace to play (the horizontal track).

I can do this with the below but it doesn’t work when not moving because obviously no velocity is being fed in. I need to get the rotation without the velocity being necessary but every attempt I’ve tried has given me jittery weird movement.

I can’t just throw the rotational stuff into a single 2D blendspace with the movement animations because I need the BS_Turn animations to be separate and able to blend smoothly with various animations in the movement state machine.

Please advise.

It sounds like you want to get the rate of the turn, so Calculate Direction won’t be any help.

I haven’t tried this, but I should soon because I also have a four legged character that needs to turn better. I don’t think the current rotation speed is stored anywhere, so you’ll probably need to compare the current character rotation to last frame’s and find the rotation speed from that using the frame delta, and then maybe do some smoothing or just smooth it in the blendspace.

If you find a setup that looks good I’d love to see the animgraph!

Sounds about right. I had a suspicion I’d probably just need to write up a function myself for it and I think that’s what I had done before (but in C++). I just was hoping by now there might be an easy node for it, lol.

Alas, I suppose we can’t always be lazy eh?

1 Like