Download

Direction of velocity (4 directions) on multiblend node

I’m reverse engineering Advanced Locomotion System 4 to learn from it. I’ve gotten pretty far, and doing my own modifications. My issue atm is fwd, bwd, right and left locomotion (one blendspace for each - walk to run 2d space) that is cached through a linked anim layer (one cache for each direction) and then goes into a separate state machine that uses all caches in each state for directions (fwd, bwd, left and right). My transition rules are based on the velocity direction I calculate as shown in the pictures. This should allow for smooth blending, and it does! However, it’s unstable on the diagonals. I get weird overlapping legs and strange blends… It’s sort of a 50/50 success rate in how it blends. Here’s a video showing the issue and below is my scripts:

As you can see here the animation blends weirdly. Basically it’s very unstable on the diagonals. I have the ALS animations set up with forward, back, left and right through a anim layer in my animgraph:
Skarmbild_2021-06-02_081948

Then it blends in each direction with a multiblend, using a calculation of velocity direction, as in ALS, on the alpha of the multiblend node:

And here is the macro you see above… Basically a normalized and unrotated vector from my velocity that I clamp (I set this up in the animBP much like ALS 4 - see 2nd pic below)