Non-rendered right and left footprints could position each step on a stairway or other uneven surface. Any vertex in the surface that would interfere with a step should be automatically avoided by the character's foot. The kinetics of balance would adjust the walk cycle accordingly. The user would be responsible for placing footprints to get the motion desired.