[Feedback/Help] Deciding which route to take - Complex/Advanced Animgraph

First off I’m not an animator. I’m a coder. I’ve read the docs/tutorials and watched many many tutorials on setting up 3rd person characters. Wes Bunn, PyroDev, Tesla Dev, Titanic games, UE 4 Live training and many others. I’ve even done a few start to finish. None of which, beyond root motion, have the results I eventually want…as far as fluid movement (sexy).

With that let me drop some project details.

  • UE 4.21
  • PC Exclusive
  • Multiplayer (64p)
  • Large open world (world comp, level streaming)
  • Projectile physics (object pooled)
  • True First person (3rd person full body)

Characters will have 2 primary states. Equipped (Hip/ADS) and Unequipped. Both states need to fully support Standing, Crouched and Prone stances. Preferably 8-way movement in crouched and standing stances. All transitions (equip/unequip weapons, crouch to prone, prone to crouch, death, hit, breaks, etc) need to replicate.

If more info is needed just ask.

I like the look and feel of root motion. But the downside beyond bandwidth usage, “as far as I’m aware”, is all animations need to be root motion based (Root motion for everything). So all additives, transitions need to be root motion based. This has me leaning toward an “In Place” setup.

Being a coder I want the anim graph setup to be streamlined for easy additions. So if I decide to add swimming/climbing etc it won’t require a lot of add-on code/hacks and result in a spaghetti state machine.

So with that here’s what I’m thinking.

Use the state machine to determine “locomotion” (hips down) and in Animgraph use a Layered Blend Per Bone for the spine up. So essentially not having to create and setup additional blendspaces for standing rifle hip, crouched rifle hip. Decoupling locomotion from action so to speak. Eventually stitching together the pose.

The idea behind this came from a video with Mathew Russel and Laurent Delayen.

Additionally I’d like to setup the locomotion blendspaces like I would for root motion (Forward/Backward, Right/Left). Anyone have any insights on doing this? Tutorials etc?

Thanks in advance for all suggestions, feedback etc.