How did the GAS project create the FootSpeed L and R curves?

In the GAS project, I assume the FootSpeed L and R curves were creating using the Animation Data Modifiers. My guess it’s the Motion Extractor Modifier, but I can’t seem to figure out what settings were used to get those curves. Does anyone know how the GAS project created the FootSpeed L and R curves?

Hey @Pulciu, I’ll try to help you with that!

I’m not sure how the curve looks like in your project, but if you select the MotionExtractorModifier in the Animation Data Modifier window, you should be able to simply type the bone name (foot__l and foot_r) and extract the curve. It’ll give you different values depending the settings you have, so could you share a screenshot of the curve you need?

This example is with the default options:

Hi @brs-ianferrari thank you for offering to help! Please have a look at the following screenshot:


The top 2 large curves going up and down (light blue and light purple) are the ones that came with the animation. When the curve reaches its lowest point, that foot lands on the ground.

The other 3 curves are the ones that I created using the screenshot you provided and changing the axis between X, Y and Z.

The animation I’m currently using is titled M_Neutral_Run_Loop_F so it’s an animation where the character runs straight forward, however there are also animations where the character runs diagonally which leads me to believe that I would need to use a combination of axis such as XY, however when I try that, I get the following error:

This error happens because you can only extract a single curve at a time using the Translation Motion Type. So if you want to extract the Y (forward) and the Z (up/down), you need to apply it twice while changing the Axis to Y and Z.

The XY can be used for the Translation/Rotation Speed Motion Type, if that’s what you need…

What data do you need from these curves? Are you going to use it for planting the feet, blending or something like that?

@brs-ianferrari I’m currently following a course on creating an ALS which uses the Lyra animations. I want to take it a step further by using the Game Animation Sample animations. Those come with L and R foot down animations. I currently have it setup so the footstep animation notifiers update the main ABP as to which foot is up and down so that if I enter a stop animation or pivot and so on, I can select the correct animation meaning L or R foot up. This update of the foot however with my current implementation happens constantly and I think that’s a bit of a waste as I only need it sometimes. For example if my character runs around, but mostly forward or forward left or forward right, that information is never needed. So I figured a better implementation would be to just compare these two curves when I change from a running cycle to a stop or pivot and see which one has a higher value and deduct from there which animation to play.

@Pulciu I see, it’s a good idea to do that only when the transition occurs, it would actually be more precise and yield better results!
You should be able to do that with the Y curve from the first image I posted. If you create that curve for both feet, you can just compare those two values to check which foot is in front of the other.
For example, you could get the left foot curve and check if it’s higher than the right foot curve. If true, it means that the left foot is in front, and if false, means the right foot is in front. I believe that’s enough to achieve the results you want, but let me know if it doesn’t work!

That’s true actually, I suppose I don’t need those exact curves, I think that should work, thank you!