In Kurzform:
2 Mauskoordinate nach 3D Welkoordinate wandeln:
Es gibt zwei grobe Möglichkeiten:
1. Z. Koordinate aus Z-Buffer holen. Damit hast Du 3D Koordinaten im Bildschirm K. System. Diese in das gewünschte System transformieren.
2. Einen Strahl vom Auge durch den Mauspubkt auf dem Bildschirm in die Scenerie schiessen und mit dem Terrain schneiden.
Laufen AUF dem Terrain:
Du brauchst eine Funktion, die Dir aus x und y z liefert. Erste Designentscheidung ist wie Du Fälle behandeln willst, bei der es mehrere Lösungen gibt, z.B. Brücken. Ein seltenes problem, man kann sagen man ignoriert es in einer ersten Implemntation. Wenn Du statische Objekte als terrain behandlst, springt dann Dein Objekt hoch, im schlimmsten Fall mit Absgturz Deiner pohysik Engine (Ist uns auf einer Messe passiert).
Das weitere hängt davon ab, wie Deine Terrainengine funktioniert. Wenn es ein gleichmässiges rechteckiges Gitter benutzt, musst Du die Indizees in Deine Arrays ausrechnen. Dann hast Du die 4 Eckpunkte umd musst zwischen denen interpolieren
.
Wenn Du ein relativ beliebiges Terrain hast (z.B. aus einem Modeller oder aus einem LoD algorithmuss) dann kannst Du ein Art Raytracing machen.