Abend,
ich arbeite gerade an einem Heightmap Script für eine 3D Landschaft, die aus Einzelteilen besteht,
da zusammenhängende Modelle nicht so einfach zu handhaben sind.
Es gibt bei jedem Bestandteil immer 2 Polys, also von oben betrachtet ist es ein Quadrat.
Nun zur Berechnung:
Es gibt 3 wesentliche Teile, die alle 2000x2000 Groß sind.
Sie gehen also von -1000 bis 1000 auf der x- und auf der y-Achse.
(Rot: Der Punkt liegt auf Z 128, Schwarz: Der Punkt liegt auf 0)
Teil 1 (Für den habe ich schon die Formel, war ja auch nicht so schwer.):
Formel für die Berechnung der Z Koordinate vom Spieler:
Die Multiplikation von MittelpunktDesTeilsY mit 2000 kommt daher, das die Koordinaten aus dem Grid stammen und
in den Maßstab der Spielerkoordinaten umgesetzt werden müssen. (Also jede Zelle im Grid ist ein Teil, also 2000x2000 groß)
Teil 2:
Teil 3:
Bei den anderen beiden verstehe ich nicht, wie man das am besten macht, da man hier
nicht nur mit einer Achse rechnen muss, sondern auch die andere miteinbeziehen muss.
Die Möglichkeit aus einem Sprite die Höhe ablesen zulassen finde ich nicht so gut, da ich das
auf 2000x2000 strecken müsste und wenn dann noch 40+ andere "Personen" rumlaufen, dann
haben die meisten PCs schon verloren.
Ich hoffe ihr könnt mir helfen.
._.
ich arbeite gerade an einem Heightmap Script für eine 3D Landschaft, die aus Einzelteilen besteht,
da zusammenhängende Modelle nicht so einfach zu handhaben sind.
Es gibt bei jedem Bestandteil immer 2 Polys, also von oben betrachtet ist es ein Quadrat.
Nun zur Berechnung:
Es gibt 3 wesentliche Teile, die alle 2000x2000 Groß sind.
Sie gehen also von -1000 bis 1000 auf der x- und auf der y-Achse.
(Rot: Der Punkt liegt auf Z 128, Schwarz: Der Punkt liegt auf 0)
Teil 1 (Für den habe ich schon die Formel, war ja auch nicht so schwer.):

Formel für die Berechnung der Z Koordinate vom Spieler:
Die Multiplikation von MittelpunktDesTeilsY mit 2000 kommt daher, das die Koordinaten aus dem Grid stammen und
in den Maßstab der Spielerkoordinaten umgesetzt werden müssen. (Also jede Zelle im Grid ist ein Teil, also 2000x2000 groß)
Teil 2:

Teil 3:

Bei den anderen beiden verstehe ich nicht, wie man das am besten macht, da man hier
nicht nur mit einer Achse rechnen muss, sondern auch die andere miteinbeziehen muss.
Die Möglichkeit aus einem Sprite die Höhe ablesen zulassen finde ich nicht so gut, da ich das
auf 2000x2000 strecken müsste und wenn dann noch 40+ andere "Personen" rumlaufen, dann
haben die meisten PCs schon verloren.
Ich hoffe ihr könnt mir helfen.
._.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Shapow () aus folgendem Grund: Satzbau und so