Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich frage deshalb, weil ich Perlin Noise als Ideal betrachten würde, kleine Kartenelemente für eine HexMap mit Hügeln zu versehen, ohne das man die ganze Vertices speichern müsste.
Wenn es möglich wäre ausschließlich den Seed der für die Noise zugrunde Lag zu speichern, wäre das sicherlich eine Lohnende Methode große Tilebasierte Karten zu erstellen.
Irgendwie muss Lyr das ja bei seinen Bäumen auch geamcht haben.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Sa Nov 13, 2004 11:00 Beiträge: 229 Wohnort: Steinhude
Zitat:
Wenn es möglich wäre ausschließlich den Seed der für die Noise zugrunde Lag zu speichern, wäre das sicherlich eine Lohnende Methode große Tilebasierte Karten zu erstellen.
warum soll das nicht möglich sein? da perlin noise auf pseudozufallsfunktionen basiert muss beim selben input(gleiche noise-funktionen usw. vorausgesetzt) auch der selbe output rauskommen. insofern ist perlin noise in den meisten implementationen von natur aus deterministisch.
Registriert: Do Jun 19, 2003 10:44 Beiträge: 991 Wohnort: Karlsfeld (nahe München)
Ganz einfach nutze ein Array von Zufallswerten und speichere es ab!
Allerdings macht das nur Sinn wenn die höchste Auflösung deiner Zufallsebene kleiner als das Ergebnis ist. Denn ansonsten ist die Dateigröße die gleiche.
Außer;
Du speicherst eine Zufallsfunktion ab die diesen Array ersetzt/füllt!
MfG
Flo
_________________ Danke an alle, die mir (und anderen) geholfen haben. So weit... ...so gut
Nachdem Perlin Noise ja nur eine Überlagerung von Pseudozufallsfunktionen ist, die in unterschiedlicher Auflösung abgetastet, bei niedrigeren Auflösungen interpoliert und schließlich mit unterschiedlichen Gewichten aufkumuliert werden, kannst du als Funktion natürlich nehmen, was du möchtest.
Es ist auch nicht notwendig, dass alle Elemente, die schlussendlich das in das Endergebnis einfließen, aus der selben Funktion stammen - du kannst einige davon z.B. durch die Abtastung einer händisch generierten Heightmap ersetzen.
Das ist insbesondere dann sinnvoll, wenn du die Grobstrukturierung vorgeben möchtest - dann zeichnest Du eine Heightmap - und die Feinstrukturierung holst du dir dann aus dem Zusammenspiel von Noise (ich sage jetzt bewußt nicht Perlin Noise) Funktionen. Du kannst auch mehrere Funktionen überlagern, und die Überlagerung z.B. durch den Höhenwert deiner Heightmap gewichten - dann bekommst du für unterschiedliche Höhenstufen unterschiedliche Reliefstrukturen - und wenn du ganz ins Detail gehen möchtest, übernimmst du die Gewichtung der einzelnen Funktionen aus einem separaten 2D-Array (oder du speicherst nicht nur Höhenwerte in deiner "Heightmap" ab).
Es ist zwar nicht allzu schwer, so etwas zu programmieren - damit aber ansehnliche Ergebnisse zu erzielen ist sicher mit einigem "Versuch und Irrtum" verbunden .
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.