Strider - Procedural Animation Warping Plugin

Hi,

I’m an animation programmer that specialises in ‘Motion Matching’](Motion Symphony - Motion Matching & Pose Matching Tools Plugin - Marketplace - Epic Developer Community Forums) and procedural animation technology. I’d like to introduce my new plugin ‘Strider’ which has just been submitted to the marketplace and should be available soon.

Strider contains five (5) custom procedural animation warping nodes for use in Animation Blueprints. The functionality of these animations nodes is very similar to that shown for Epic’s Paragon project.

Features:

  • Stride Warping
  • Orientation Warping
  • Slope Warping
  • Bank Warping
  • Acceleration/Lean Warp
  • Utility Blueprint Function Library
  • Written in 100% C++ and optimised for best performance
  • Easily tweak behaviours and parameters on each node to suit any game
  • Console debug commands and visualisation
  • All nodes designed to work together

Links:

The below trailer shows a quick demonstration of what these nodes do. For more in depth details, please check out the tutorial playlist for an overview and tutorials (more tutorials coming soon).

**Stride Warping:

Orientation Warping:

**

Slope Warping: (Note - initial release is not a ‘per foot’ solution. This is intended to be an optimised method)

**Acceleration/Lean Warping:

Bank Warping:**

Strider has just been approved and is available on the marketplace store.

Link in OP

Hi I would buy the Strider plugin but being more interested in Motion Symphony then I was wondering if they work together or if the logic of Strider will already be included in Motion Symphony.
I would not like to make a double purchase.

Hi, I didn’t see this mentioned in any of the videos or the documentation - in the example project the Character Blueprint is a child of a custom class called “StriderTutorialUE4Character”, rather than the default UE4 Character Blueprint, is this strictly necessary for the Strider system to work? Or is that just a convenience to set up movement input for the tutorial? What is it’s purpose? Cheers!

Hi,

Motion Symphony will not contain any of the functionality of Strider so you won’t be making a double purchase if you get Strider now and Motion Symphony later.

They are designed to work together with synergy but are not in any way dependent on each other. Strider and Motion Symphony are intended to be very modular like tools in a tool-bag which can be pieced together anyway you like / any way that makes sense. I am designing everything to avoid a monolithic, interdependent rigid system.

No, you can totally use the default UE4 ACharacter or your own derived character for your blueprint.

There is no particular purpose in the case of the tutorial. There is no functionality in it. It is just what I always do in every project with just about every default class. If the base class is in C++ I can add C++ functionality to it later. However, if my blueprint only inherits from a default class then I can’t go back and add C++ or convert blueprint functionality to C++ easily when the time comes.

Also when I make a C++ project, it automatically makes these derived classes for me.

How does this compare with ALSV4? I am still new to animation programming and this seems like it would replace it. Or could it compliment it to improve it? Having 5 nodes to replace a huge system would be great. It looks amazing either way.

Hi,

Though I don’t use it, I believe ALSv4 is a pre-built locomotion system made with blueprint. Whereas Strider is a set of tools written in C++ to help build your own graph with some complex animation warping.

Strider assumes no pre-ordained animation graph structure, instead it is designed to be used as you desire within any graph structure that makes sense for your game.

It is likely that you could use Strider nodes to improve ALSv4 in functionality and performance. However, I can’t confirm because I haven’t tried it and probably won’t. I generally shy away from monolithic ‘do everything’ graph structures and prefer custom built solutions based on the needs of the specific game.

At the end of the day I think these two things are different all together and difficult to compare.

Hope this helps.

God this looks amazing. It’s definitely a future purchase.

Hi, thanks for the interested. If you have any questions please let me know.

If Strider interests you, you may also be interested in my other upcoming plugin ‘Motion Symphony’ in the future (Not yet released).

Motion Symphony will be compatible with Strider nodes from the day of release.

Check it out here

I’m trying to set up the Orientation Warp with a skeleton that’s a bit different from the mannequin one and I haven’t been able to make it work, would it be possible to make it work or would I need to use the mannequin skeleton
.issue.PNG

It’s not that you have to use the Mannequin skeleton, it’s more to do with the root bone rotations. Root Bone rotations (particularly the root and the IK root) need to be setup correctly for UE4 animations (Z-Up)

While I believe it is best to do this anyway for consistency with the engine, I will be updating the asset to accommodate for assets with incorrect root axis in the near future.

Strider v1.04 has been submitted for approval on the UE4 marketplace. It should be available within a day or two. Just a few minor changes:

Orienation Warping Node:

  • Up-Axis input added: This helps if you have a character who’s root bone is not setup correctly with a Z-Up axis. You can set the precise axis to orientation warp around.

Slope Warp Node:

  • Compensation built in to accommodate skeletons / models that have Ik-Root bones orientated incorrectly for UE4 (i.e. not Z-Up)
  • New Feature ‘Slope Roll Compensation’: Additional adjustments to hips or feet to ensure gait and center of balance is maintained on slopes with steep roll. Please see Section 7.4 of the User Manual for details.

Hi Avindr,
thank you for your plugin.

I am stuck with another “Up-Axis issue”.
Along with the root bone i have some more bones in my character that are not setup in the way your plugin expects them to be.
I did use advanced skeleton 5 in maya to create the rig.
I was expecting the orientation to be “correct” as the model showed up and seemed to operate correcly in unreal.
Unfortunately I could not find a way to fix that yet.

So here is my feature request:

  1. Would it make sense to you to implement the “Up Axis” parameter for Bone Chain and Ik Chain elements aswell? For people with similar issues.

Alternatively:
2. Would it be possible for your plugin to evalute the proper axis of incorrectly setup characters for it to work on?

P.S. If anyone happens to know of any source where i can find information on fixing the incorrect bone orientation with using advanced skeleton in maya, or a way to fix it in general i would be very grateful.

Hi Ochtupus,

Any chance you could send me a copy of that model for testing. I could test it on all nodes and hopefully eliminate all of these issues at once. Cheers :slight_smile:

Hi @Avindr
sure! I have sent you a PN.

Thank you very much for caring

Hi Avindr! I’ve written the same question on the Unreal Marketplace message board. I’ve purchased Strider, but have realized after that fact, that I don’t have a version of the editor that’s compatible with it. I’m running 4.25.3-0+

Any chance I can have you compile it against that and hook me up with an update?! Cheers.

Hi there! Just purchased your plugin, and realized I can’t use the slope/stride warping, as I don’t have IK bones on my rig. Adding them to the rig isn’t really possible, as the process to get the animations and rig lined up is tedious on its own, let alone when the rig has two bones that don’t match.

I’m trying to use Virtual bones, but that doesn’t really do anything either. Is there a solution for rigs with no native IK bones? Thanks.

Okay so I set it up incorrectly, but Virtual bones do work. Looks like my rig bones are set up with different rotations though, and the stride warping is making the legs move outwards instead of forwards and backwards. I’ve managed to get it pretty much working by setting 'Direction" to 90, but is there a better solution or option for correcting bad rotations?

I think you sent me an email and such in other places and responded to you there. However, if anyone else is wondering, 4.25.3+ is supported and after double checking I found that it imports just fine without any re-compile for 4.25.3.

Ideally, the bones are setup in the standard way / orientation that UE4 desires. However, I am working on some options to accommodate non standard bone rotations. This will be released in the next update.

Hi Ochtupus,

Thanks for providing me that model for testing. After making some changes to Strider, I’ve been able to accommodate non-standard bone orientations. This will be included in v1.05 which should come very soon. I have already submitted it to the marketplace so it should be available soon.

**Orientation - ** The Up-Axis now applies to the spine chain as well. By setting the Y axis to up, it works for that model
Bank - Added Up-Axis and Forward Axis option
Accel - Added Up-Axis option
Stride - Appeared to work fine without modification
Slope - Fixed the automatic root offset to accommodate different bone rotations.

Also fixed a few obscure crashes that I found while testing for better stability.

Hope this helps :slight_smile: