Hi,
I’m currently implementing a quadruped locomotion animation system for our animals in our game. Since it’s a multiplayer game, we decided not to use a root motion system for locomotion (only for montages). I’ve been leveraging the technology provided in the Lyra sample—specifically stride warping and rate scale adjustments and dynamically switching between sequences based on speed—to prevent foot sliding when the character’s speed doesn’t perfectly match the animation speed. This part of the implementation went relatively smoothly.
Now, I’ve been tasked with implementing turning animations for our animals. As a side note, our animal characters have OrientToMovement enabled with a very high rotation rate, ensuring that the capsule is always aligned with the character’s velocity. Our animals are AI controlled and are already navigating on a smooth path generated by the navmesh.
Here’s my current approach, and I’m looking for feedback on its feasibility:
- We have turn animations at different angular velocities.
- I want to replace the sequence player in the locomotion cycle state with a blend space player, using the character pawn’s angular velocity as input.
- We’ll ensure that the character’s in-game angular velocity almost never exceeds the highest angular velocity in our turn animations to avoid foot sliding.
- The blend spaces will only interpolate between animations at the same forward speed, so the blend only affects turning and not actual movement speed. This means we’ll have multiple blend spaces per speed type (walking, sprinting, etc.). So I’m only using 1 axis of the blend space.
- I still want to reuse the existing functionality where the blend space is dynamically switched via an animation node function when the animal reaches a certain speed.
My questions are:
- Is this approach feasible?
- Can I adjust the
SetPlayRateToMatchSpeedfunctionality to work with blend space players instead of sequence players? - Do you think this is a solid approach, or is it over-engineered?
I’m also open to alternative suggestions for implementing turning animations—either baked animations or procedural—for quadrupeds, as this is one of the only solutions I’ve found so far.
[Attachment Removed]