Höhlen mit Heightmaps



  • Da Heightmaps ja nur eine Information pro Punkt speichern, erweisen sich Höhlen damit ja doch eher als schwierig. Kann man und wie kann man das umgehen? Ich möchte eine Höhle machen, aber der Platz darüber soll weiter begehbar und ein hübsches Terrain sein. Gibt es da bereits Techniken für? Andere Spiele müssen doch auf das gleiche Problem gestoßen sein.



  • kannst doch pro pixel mindestens 256 zustände speichern, sollte doch reichen



  • Versteh ich nicht..



  • Heightmaps are more limiting in that you cannot have overhangs in the terrain.

    D.h.: Nein, mit Heightmaps geht das nicht.

    Aber du könntest die Landschaften als statische Meshes speichern.
    Für mehr Infos siehe:
    http://www.ogre3d.org/tikiwiki/Terrain+Howto



  • Wie funktioniert das denn dann mit den Kollisionen? Stell ich mir nicht so leicht vor, dafür passende Boundingboxes zu erstellen. Und auf einzelne Vertexe möchte ich dann auch nicht prüfen.



  • Es gibt verschiedene Zwischenstufen. Direkt ganze Meshes sind zumeist overkill. Wnen dein Ziel eine Terraingenerierung wie bei Minecraft ist, dann brauchst du einfach nur ein Gitter über deine Welt legen und für jeden Punkt speichern, ob er Boden ist oder Luft.

    In diesem einfachen Binärfall kannst du die ganze Map auch sehr effizient packen. Du speicherst dir einfach in jeden Pixel der Heightmap so was wie:

    "0-15 Erde,15-20Luft,20-30 Erde,30-inf Luft"

    Das wäre dann quasi für ein Pixel deiner Heightmap eingetragen dass es noch einen nicht-leeren Bereich (von Höhe 15-20) gibt, der unter der Erde ist.

    Ganz effizient dargestellt:
    15, 5, 10



  • Aber wenn ich unterschiedlich viele Ebenen habe, woher weiß ich beim Zeichnen dann, was wozu gehört? Und wie hebe ich den Spieler an? Bisher ging ja einfach pos.y = max(pos.y, heightmap);
    Klingt toll, aber so richtig vorstellen kann ich mir das noch nicht.


Anmelden zum Antworten