Ich habe eine kleine Frage: Gibt es einen Code oder ein Beispiel, das zeigt, wie das Simplex-Rauschen funktioniert? Ich kann nichts darüber finden ... Wie soll ich es implementieren, ohne zu wissen, wie der Algorithmus funktioniert? ...
Die andere Frage ist: Ist das Simplex-Rauschen ein guter Algorithmus für die Inselgenerierung? Ich brauche riesige Inseln (wirklich riesig) mit verschiedenen Schichten (Sand, Gras, Stein) und deutlich sichtbaren Höhenunterschieden, die weiche Kanten haben, damit Sie ins Wasser gehen können, ohne über unebene Oberflächen zu springen.
xna
3d
procedural-generation
terrain
SharpShade
quelle
quelle
Antworten:
Mein Geräuschgenerator in C # basiert darauf :
Es wird nicht kommentiert, aber die Hauptteile:
Seed ist ein Wert, der verwendet wird, um ihn zufällig zu machen. Sie generieren also nicht jedes Mal dasselbe. Hier habe ich es in den NoiseGenerator gestellt.
Amplitude, Frequenz, Persistenz und Oktaven werden im Artikel erläutert - sie beeinflussen im Wesentlichen, wie das resultierende Rauschen aussieht.
NoiseGenerator
Funktion ist buchstäblich ein PRNG - geben Sie ihm eine Eingabe, und es generiert eine Zufallszahl mit dieser als Startwert.Noise
ist das, was Sie nennen, um einen Rauschwert zu erhalten. Ich fand die Werte zwischen -2,4 und 2,4 (tatsächlich ungefähr 2.40032483 oder so, damit sie geklemmt werden) und fixierte sie auf Doppel zwischen ihnen-1 and 1
.Ich hatte damit keine Geschwindigkeitsprobleme. Ich habe ein 400x400-Raster mit 1x1-Sprites mit den hier festgelegten Werten gerendert und nur eine geringe Verzögerung erhalten (und das hat das Rauschen in jedem Frame neu berechnet).
Schauen Sie sich diese Frage für die Inselgeneration an - insbesondere ist dieser Link fast genau das, was Sie wollen, wenn auch in AS3.
quelle
Ok danke an alle für die Hilfe :)
Vor 2 Tagen habe ich "Libnoise" und einen guten C # -Port gefunden. Ich werde dieses nehmen, weil es einen Renderer gibt, der glattere Höhenkarten rendert :)
quelle
Wenn Sie noch nicht darauf gestoßen sind, ist Stefan Gustavsons Simplex Noise Demystified eine gute Erklärung für die Funktionsweise des Algorithmus.
quelle