Voxel Heightmap Terrain Editor

7

Ich habe kürzlich mit einer einfachen Voxel-basierten 3D-Engine (Think Minecraft) experimentiert, die Höhenkarten verwendet, um das Gelände im folgenden Format zu definieren:

http://en.wikipedia.org/wiki/Heightmap

Kennt jemand die beste Software für die Erstellung dieser Art von Karten? Vorzugsweise mit der Fähigkeit, auch eine Texturkarte zu definieren. Sind Terrogen und Picogen die einzigen wirklichen Alternativen?

RSH1
quelle

Antworten:

2

Das Rollen Ihrer eigenen ist schön, da Sie dann einfach Karten erstellen können, ohne ein Bild angeben zu müssen, oder zumindest das Bild optional machen müssen. Ich verwende Perlin-Rauschen in meinem Voxel-Spiel zur Geländegenerierung. Es funktioniert ziemlich gut, ist aber im Vergleich zu den von Minecraft produzierten Karten ziemlich einfach. Ich stelle mir vor, Notch macht viel mehr als nur Perlin-Lärm.

In meinem Spiel verwende ich 2D-Perlin-Rauschen, um den Grundfluss der Landschaft zu erzeugen. Dann schnitzen Sie mit einem anderen Gitter aus 2D-Perlin-Rauschen, um ein robusteres Aussehen zu erzielen. Dann schnitze ich Tunnel auf einem Wanderweg durch das Gelände.

Perlin-Lärm ist ein ziemlich normaler Weg:

/programming/4753055/perlin-noise-generation-for-terrain

Dann hat dieser Typ Paul Martz eine Anwendung, die solche Karten erstellt, und den Quellcode dafür.

http://www.gameprogrammer.com/fractal.html

Es gibt auch einen schönen Artikel in Game Developer, der sich mit der prozeduralen Erzeugung von Voxel-Terrain befasst. Es geht in 2D-Höhenkarten und 3D-Rauschen zum Generieren von Karten.

Es gibt einen Artikel in der April-Ausgabe auf Seite 21 (Creator of Worlds). Das ist ziemlich gut, aber es sieht so aus, als wäre es kostenpflichtiger Zugang, wenn Sie noch kein Abonnement haben.

MichaelHouse
quelle
2

Weltmaschine

http://www.world-machine.com/

World Machine hat eine nichtkommerzielle kostenlose Version, die im Vergleich zur kommerziellen Version nur wenige Einschränkungen aufweist. Ich kann nicht hoch genug über diese Software sprechen.

Erzeugt prozedural sowohl eine Höhenkarte als auch eine Texturkarte.

Ich habe es verwendet, um die Insel und die Texturkarte für dieses Techdemo zu erstellen

USC GamePipe Island Tech Demo "Paradies"

Vergessen Sie, was Sie über das Bearbeiten von Terrains wissen. Im Gegensatz zu vielen anderen Terrain-Editoren, die wie Malprogramme funktionieren, arbeitet World Machine auf prozeduraler Ebene. Eine World Machine-Weltdatei ist nicht das Terrain, sondern die Schritte, die das Terrain erstellen. Dies ist die Quelle sowohl seiner Kraft als auch seiner Komplexität.

Wenn Sie in World Machine arbeiten, müssen Sie das allgemeine Erscheinungsbild und die Eigenschaften des Geländes bestimmen und dann den Generatoren und Effekten ermöglichen, das Erscheinungsbild Ihrer Welt zu erstellen und zu detaillieren. Diese Art des Arbeitens und Denkens auf einer höheren Ebene ist gewöhnungsbedürftig, aber die Belohnungen sind enorm: Sie können mit relativ wenig Arbeit beeindruckende Terrains erstellen, und wenn Sie ein Terrain erstellt haben, das Ihnen gefällt, können Sie dieselbe Weltdatei verwenden mit verschiedenen zufälligen "Samen", um ein anderes Terrain mit dem gleichen Gefühl zu erzeugen.

David Young
quelle
2

Ich bin ein wenig verwirrt darüber, was Sie versuchen zu tun. Wenn Sie Ihr Terrain als einzelne 2D-Höhenkarte darstellen, können Sie nicht die gleiche Art von Terrain wie Minecraft bilden, da es sich um ein 3D-Voxel-Terrain handelt (dh eine beliebige Platzierung von Würfeln an einer beliebigen Stelle in 3D).

Ein Vorteil von Voxeln besteht darin, dass Sie Überhänge und Tunnel sowie schwimmende Blöcke haben können, die mit einer von Ihnen beschriebenen Höhenkarte unmöglich sind.

In Bezug auf Minecraft kann eine einzelne 2D-Textur nur Informationen über eine einzelne Schicht von Blöcken liefern.

Wenn Sie wirklich eine 2D-Höhenkarte erstellen möchten, verfügt Vue über hervorragende Tools. (Obwohl es ziemlich teuer ist.)

Wenn Sie ein interessantes 3D-Terrain von Grund auf neu erstellen möchten, lesen Sie diesen häufig zitierten GPU Gems-Artikel: Generieren komplexer prozeduraler Terrains mithilfe der GPU . Ignorieren Sie einfach alle schwierigen Teile des Generierens eines Netzes aus den Voxeln und verwenden Sie einfach die Voxel-Generierungsmethode von selbst (nur eine Kombination von Triggerfunktionen).

Texturfarben können basierend auf Neigung und Höhe erzeugt werden.

Olhovsky
quelle
1
Falsch. Eine einzelne 2D-Höhenkarte hat drei Informationsdimensionen. Jedes Pixel hat ein X, ein Y und eine Farbe. Wenn zum Beispiel die Farbe weiß ist, ist die Höhe dieses Bereichs 0, wenn die Farbe schwarz ist, ist die Höhe das Kartenmaximum, überall dazwischen ist eine andere Höhe.
MichaelHouse
2
Ich habe nicht gesagt, dass eine Höhenkarte keine 3 Informationen enthält. Lesen Sie meine Antwort noch einmal. Ich sagte, dass alles, was Sie mit einer Höhenkarte darstellen können, eine einzelne Schicht von Blöcken ist, die in 3D angeordnet sind. Um 10 Ebenen von Blöcken zu haben, benötigen Sie 10 Höhenkarten. Aus diesem Grund verwenden Spiele wie Minecraft keine Höhenkarten, um die Daten darzustellen.
Olhovsky
Sie können hier einen Blick auf mein eigenes prozedurales Terrain werfen, wenn Sie davon überzeugt sein möchten, dass ich nicht nur Dinge erfasse
Olhovsky
1
Eine 3D-Textur enthält 4 Informationsdimensionen, eine Position im 3D-Raum UND eine Farbe.
MichaelHouse
1
Sie verlieren nicht die Vorteile von Voxeln. Sicher, Sie nutzen nicht alle Vorteile (wenn Sie eine Karte mit einer einzigen Höhe verwenden), aber Sie verlieren keine. Offensichtlich sind Höhenkarten nicht die EINZIGE Antwort, weitere Verformungen, Tunnelschnitzereien usw. sind erforderlich.
MichaelHouse