3D空間のデータ構造による。

単純な例だと1マスごとの高度を保持していて、1マス単位で移動。
そのマスの高度を参照すればいい。

複雑な例だと新たな水平方向の座標に応じて、
地面のデータ(例えばポリゴン)を参照して、
交点を求める。

さらに複雑だと障害物を考慮しt