# walk on hill

## Recommended Posts

derek7    100
I now take these step. first move a distance alone the xz plane,then get a new position(x z)then according to height map get y value of new position(x z). but these work unreal.because the move more much distance because of a height. so how to handle the problem?

##### Share on other sites
MickePicke    184
You can check the length from the current position to the next one.
If you have a vector class (and you should):
Vector currentPos = Your current position;Vector nextPos = "next" position;float distance = (nextPos - currentPos).Magnitude();

So to limit the speed to 1 unit you could do like this:
Vector dir = nextPos - currentPos;dir.Normalize();currentPosition += dir;