Ich versuche, mich mit der Erstellung von Höhenkarten zu befassen. Wenn ich eine Ebene mit 64 x 64 Verts habe, muss ich dann eine 64 x 64 Pixel große Graustufen-Höhenkarte erstellen, um die Geometrie der Ebene korrekt zu verschieben?
Sie können einige Details verwirren. Eine Höhenkarte ist einfach ein 2D-Array von Daten. Jeder Punkt repräsentiert 3 Informationen: eine x
und y
Position und eine Zahl, um die Höhe an diesem Punkt darzustellen. Schauen wir uns für ein einfacheres Beispiel ein 1D-Datenarray an, das 2D-Gelände erzeugt. Jeder Datenpunkt hier enthält eine x
Position und eine Zahl, um die Höhe an diesem Punkt darzustellen:
Ziemlich einfach, oder? Es ist nur ein normaler alter Graph. Wie Sie sehen können, steigen die Zahlen auf der x-Achse um zehn. Wir könnten das leicht ändern, um um 100 oder 0,01 zu steigen. Gleiches gilt für die auf der y-Achse angezeigten Daten. Wir können diese Werte skalieren, wie wir möchten.
Grundsätzlich sind es nur Zahlen, bis Sie entscheiden, wie Sie sie visuell darstellen möchten. Zu sagen, dass eine Höhenkarte von 64 x 64 Pixel bereits einen Schritt weiter geht, als wir brauchen. Da ein Graustufenbild nur eine andere Möglichkeit ist, dieselben Daten wie eine 3D-Höhenkarte anzuzeigen. Die Daten, die jeweils dargestellt werden sollen, stammen von derselben Stelle.
Außerdem benötigen Sie nicht einmal eine 1: 1-Beziehung zwischen Daten und Anzeige. Sie könnten weit mehr Scheitelpunkte als Datenpunkte oder weit weniger haben. Sie müssen nicht einmal gleich weit voneinander entfernt sein.
Für das einfachste Beispiel: Ja, generieren Sie ein Array von [64][64]
Datenpunkten, um ein Graustufenbild oder eine 3D-Höhenkarte zu erstellen. Jede [x][y]
Ihrer Array entspricht die x
, y
Ihre Eckpunkten und der Wert in jedem gespeichert [x][y]
wird den repräsentieren z
Wert des Vertex.