Distance Matching Locomotion : Giving it a shot!

For me it looks much better in jogging, sprinting and leaning, but i hate these non-animated hands in both packs.

Yep, but itā€™s not hard to fix :slight_smile:

Hey what axis you extracting the distance curve from? btw Is looking really good so far

For distance and speed, you donā€™t need to know anything about the axis. All you need is to save the root bone location at start and calculate the distance between start location and location at the current frame and add this distance with the current frame time into a curve.

P.S.: This works only if you retrieving root bone location from animations with root motion! Only foot sync markers can be done without root motion.

Here is an update video for what I have been working on. Not perfect but getting there. Was more of a pain then I thought to get pivots and 45 degree starts and stoos working.

Working on start animations

Looking good chief ! @

Update:

  • Starting movement on any angle
  • Some issue with legs jittering (will be fixed with foot sync markers)
  • Blending issue when moved forward-right on the angle between 45 and 90 degrees (I think the problem in animations because itā€™s working for movement on any other angle or/and direction)

needs more polishingā€¦

SpeedWarping Graph Node testing.

Still sliding around a lot. I would wager that the math for the placement it is very slightly off. And/OR something isnā€™t right with the animation, meaning the pelvis should be shifting towards (or opposite?) the direction based on speed as well in order to give the appearance of the feet planting.

You can easily blame the animation for this, after-all you always get a better result from using a slow walk animation and transitioning it to a faster paceā€¦

Thank You for feedback. Iā€™m pretty sure, my calculations for gettting speed are wrong.

This whole thread made me consider doing a plugin with a bunch of physic and statistic equations solver, from dynamic to fluid sim, i can even implement some quantum physic models, wondering if thereā€™s an interest for that.

If you want to share this knowledge - of course, YES! Anyway, I think it will be useful for many people who donā€™t know how to do this or who wants to save time.

I think the community would benefit more from a tutorial series on ā€œhowā€ and mostly ā€œwhyā€ rather than a source of copy/paste instructions or a module you just add in.
At least from 90% of the forum posts show that people arenā€™t even aware that you need to know physics in order to use physicsā€¦ ā€œwhat? I need to put in all that work?ā€ The answer is, yes. Yes you do.

https://twitter.com/KennethClaasse2/status/1298559885257318400?s=20](https://twitter.com/KennethClaasse2/status/1298559885257318400?s=20)

Three times YES! ;d

Hey, everyone! Iā€™m loving all the shared knowledge Iā€™m finding on this thread. I was hoping someone on here could point me in the right direction with regard to issues Iā€™m having. Iā€™m currently using speed warping and orientation warping, but Iā€™m stuck as to how to properly transition between left/right motion and forward/backward motion without weird foot floating and foot sliding. (Iā€™m not yet tackling other transitions, as I know Iā€™ll need some sort of start/stop anims, which I donā€™t currently have.)

Here is a video showing my issue: https://youtube.com/watch?v=15elNZ381bc
Youā€™ll notice Iā€™m in the ALSv4 project. For the sake of testing, Iā€™m using the ALSv4 AnimBP, but Iā€™m using my own AnimGraph with the speed and orientation warping nodes.

I donā€™t expect anyone to solve my problem, but any hints are appreciated.

I think your problem with foot sliding is different speed of animations. You should apply different values for speed warping for each type of animation. You can extract speed from root motion animations and create speed curves for ā€œIn Placeā€ animations. As additions you should apply foot locking for completely removing foot sliding.

In my Orientation Warping node, there is a parameter called ā€œRotation Interpolation Alphaā€. It is a Lerp from previous Orientation to new one. If you make that value higher, Rotation reacts faster and there will be less foot sliding during turning. This issue you are having looks very similar. Also you can change the ā€œBase Speedā€ of Speed Warping node dynamically by using the Root Motion Speed curve as mentioned. This will also help for less foot sliding in general. To, get the speed curve from root motion animation there is a Root Motion Extractor plugin from Yaki Studios or you can do it yourself with Animation Modifiers.

Thanks for the feedback, . I created a curve inside each animation that has a constant value reflecting the speed of the animation. But I didnā€™t use a tool to do so. I merely kept testing different speed to see which speed allowed the default animation to move without slide. I downloaded Root Motion Extractor when it was free, so I donā€™t know why I didnā€™t consider using that tool. Another thing I didnā€™t do is blend the speed curve values from one animation to the next when animations change. Iā€™m not exactly sure how to go about doing that, but it doesnā€™t seem overly difficult. Iā€™ll work on figuring that out.

I also need to figure out foot locking. Iā€™ve never created foot locking before, so Iā€™m not familiar with its implementation. I know ALSv4 has that characteristic, so I will try to interpret Calebā€™s setup and adjust it to fit my needs. Any suggestions on this are welcome.

I actually purchased the Strider plugin before I had even heard of your warping node plugins, but Strider has a similar function regarding interpolation, though itā€™s called Smoothing. I donā€™t want rotation to be too jumpy though, but finding a value that isnā€™t too fast or too slow is a bit challenging. Iā€™m sure there is a better way to approach this issue, but I donā€™t know what it is yet.
As for speed warping, since Iā€™m using the Strider nodes rather than yours, I need to input a Stride Scale, but the idea is the same. I will now use the Root Motion Extractor. I donā€™t know why I didnā€™t consider that approach before.