# Help wanted for human character to walk a curved path

A human (biped) character walking a straight path has been well tried out.
But what if the path is an arbitrary curve (2D or 3D)?
I created a curve (Nurbs path) and then applied the ‘Follow path’ constraint to my character who can walk straight.
I ticked the attribute ‘follow curve’ and chose (-y) for forward and Z for ‘up’.
As my character is already key framed for a straight walk, I got him to walk along the curve. He did for a while and then veered a bit off course. Adjusting the ‘offset’ attribute, helped a bit but the walk kept moving away from the path further on.

Clicking the curve icon brings up a string of conditions. The two relevant ones are the number of frames for the walk and something called ‘evaluation time’ which I can’t quite figure out.
I have not seen any recent tutorials on this subject and I’d appreciate help.

Follow Path is one of the parts of Blender that hasn’t changed for ages, so I wouldn’t worry about the age of the tutorial.

Myself, I find it easier to parent the character to an empty, and animate that or make it move around the scene. I find this makes things easier.

What I do is make sure that the origin of the curve object, and the start of the curve, and the empty that the character is parented to, are all on the same point.

The conditions you’re talking about … Frames is the number of frames the animation along the curve takes. I think Evaluation Time can be used to keyframe the movement along the path so the character can accelerate and decelerate.

I hope that helps.

Thanks for your suggestion.
If I parent the character to an Empty, certainly the character will follow whatever the Empty does but it doesn’t walk. The character just moves like an inert blob or single object. No walking.

edsa

Frames in the curve panel is equivalent to curve lenght and evualation time is equivalent to step lenght*time.

example:

1. curve lenght 10
2. step lenght 1

Keyframe the evaluation time at frame=0 with value=0 and at frame=10 with value=10 and you get 10 sticky steps along the curve.

But how get the curve lenght? animation node get spline lenght node
how to get the step lenght ? graph editor value for one step (linear interpolation) while the food stay on the ground.

Some times, it may not be wise to just have a character to actually walk on a path. Another way is to start with the character at one frame and them make it move to another point in a different frame. Next, you need to “see the path” that it walks by going into the Animation tab on the left hand side and press Calculate under Motion Paths. Press the okay button after adjusting the frames being affected on the model or armature and you will see how the object will move in the 3d Space area. At a certain point, you will need to adjust the path it travels in order to walk on a curve.

If I understood you, my character walks 160 frames in a straight line and each step uses 16 frames.
So I set ‘frames’=160 and ‘evaluation time’=16. But the character after about 70/80 frames keeps moving away from the path & more or less in a straight line. And I varied the ‘evaluation time’ but still no luck.
I think the ‘follow path’ algorithm is not good enough and needs improving.
Thanks for your explanation.

Maybe you can put a blend in so we can actually see what you have done. You can strip out the character if you want.

Hi, XeroShadow: I don’t think I quite understood you but I did something on the lines suggested.
I allowed the character to follow the (curved) path but when it veered a bit much, I switched to pose mode and moved the character to the path and continued for a few more frames. The result was that the character stayed in the path BUT after forcing it to follow the path, the character no longer walked properly but slided along the path.
That was unacceptable.
In other words, there is a price to pay for forcing a character to follow a curved path. The walk mechanism cannot be maintained.

There must a neat way to get a character to follow a path but I have not found it.
The existing method (follow path constraint) is simply not good enough.

Thanks, Still Trying. (I have met you before on this community forum on walking non-stop .)
I am posting the Blend file.