How do I get precise foot placement in animated walk motion? Controlling a walk cycle's timing and foot placement is one of the many things I do poorly... and I wonder if it is because I am missing or do not understand a Blender control device or approach. 

While (I think) I understand FK and IK use, I am using them to get natural-looking motion but not so much to control precisely the resulting placement of feet: where/when the feet land and where they are pointed/rotated. I use empties and paths to move the armature through the scene, but again not knowing how to precisely use this approach to target individual "LeftFooptStep1" or "RightFootStep6" onto precise locations, rotations and frame numbers.

In 3ds, for example, your walk cycle can:

ID footstep placement after first iteration.



Allow editing of footstep orientation.



Allow positional editing and animation to assure placement through cycle





And can even be animated to give slipping and sliding.


And, as it happens, those are all things I need to do on my current project:


Precise placement (position, orientation, time) of footfalls within walk cycles
Undulating surface interactions
Synchronization of two or more characters' walk cycles' footfalls and timing.


EDIT=================

I will accept this answer since it adds considerably to my understanding, and I am sure I am not using it to its fullest yet. That said, it does not do everything I'd LIKE to have, but it certainly seems to do a lot of stuff I need to have.



The wikie suggests that the Floor must be level: "Note that it is only capable of simulating entirely flat planes, even if you use the Vertex Group option. It cannot be used for uneven floors or walls." 

I probably do not fully understand what they intend that to mean, since I am able to vary the Z position and have the Floor constraint assist. I have not worked with rotation yet, but have seen tutes suggesting I can get some of what I want.

Thanks!
In short, use the Floor constraint. I'll come up with an elaborate answer when I find time. Don't get confused by the name. The constraint can also be used for walls.