Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung | ||
scripting:tutorials:level2:heightmaps [2024/02/16 08:21] fritz_98 angelegt |
scripting:tutorials:level2:heightmaps [2024/02/16 11:35] (aktuell) fritz_98 |
||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
Um als Höhen- bzw. Texturmap verwendet werden zu können, braucht die erstellte Bilddatei eine bestimmte Auflösung, die von der Größe der Karte abhängig ist. Diese Auflösung ist hierbei quadratisch, | Um als Höhen- bzw. Texturmap verwendet werden zu können, braucht die erstellte Bilddatei eine bestimmte Auflösung, die von der Größe der Karte abhängig ist. Diese Auflösung ist hierbei quadratisch, | ||
- | Wir werden das Erstellen der Höhen- und Texturmaps beispielhaft mit der deutschen Version vom GIMP (V2.10) zeigen. Als roter Faden dient eine Beispielkarte der Größe 256, die du hier FIXME herunterladen kannst. | + | Wir werden das Erstellen der Höhen- und Texturmaps beispielhaft mit der deutschen Version vom GIMP (V2.10) zeigen. Als roter Faden dient eine Beispielkarte der Größe 256, die du {{ scripting: |
---- | ---- | ||
Zeile 25: | Zeile 25: | ||
Wir erstellen zunächst ein neues quadratisches Bild (// | Wir erstellen zunächst ein neues quadratisches Bild (// | ||
- | FIXME Bild | + | {{ scripting: |
Anschließend stellen wir das Bild sofort auf 8-Bit Farbtiefe und Graustufe um. | Anschließend stellen wir das Bild sofort auf 8-Bit Farbtiefe und Graustufe um. | ||
- | FIXME Bild | + | {{ scripting: |
Um einen sinnvollen Ausgangspunkt für die Höhenmap zu haben, füllen wir sie vollständig mit der Farbe für die Standardhöhe '' | Um einen sinnvollen Ausgangspunkt für die Höhenmap zu haben, füllen wir sie vollständig mit der Farbe für die Standardhöhe '' | ||
- | FIXME Bild | + | {{ scripting: |
Um besser einschätzen zu können, wo der Maprand liegt, wollen wir auch zuerst noch einen Kreis ziehen, der den Maprand anzeigt. Dazu wählen wir // | Um besser einschätzen zu können, wo der Maprand liegt, wollen wir auch zuerst noch einen Kreis ziehen, der den Maprand anzeigt. Dazu wählen wir // | ||
- | FIXME Bild | + | {{ scripting: |
Anschließend wählen wir unter // | Anschließend wählen wir unter // | ||
- | FIXME Bild | + | {{ scripting: |
Die Basis für unsere Höhenmap sieht dann so aus: | Die Basis für unsere Höhenmap sieht dann so aus: | ||
- | FIXME Bild | + | {{ scripting: |
- | Mit dem **Stift** oder **Pinsel** können wir nun grob Gebirgszüge oder Flüsse einzeichnen. Wichtig ist dabei, für die Vordergrundfarbe eine Graustufe zu wählen, die oberhalb bzw. unterhalb der Standardhöhe liegt und nicht gleich '' | + | Mit dem **Stift** oder **Pinsel** können wir nun grob Gebirgszüge oder Flüsse einzeichnen. Wichtig ist dabei, für die Vordergrundfarbe eine Graustufe zu wählen, die oberhalb bzw. unterhalb der Standardhöhe liegt und nicht gleich '' |
- | FIXME Bild | + | {{ scripting: |
- | Die Berge sind mit dem Pinsel entstanden, der Fluss mit dem Stift. Der Unterschied der beiden liegt also darin, dass der Pinsel weiche Kanten erschafft, während der Stift harte Kanten schreibt. Eigenschaften wie die Größe des Brushes, seine Drückstärke | + | Die Berge sind mit dem Pinsel entstanden, der Fluss mit dem Stift. Der Unterschied der beiden liegt also darin, dass der Pinsel weiche Kanten erschafft, während der Stift harte Kanten schreibt. Eigenschaften wie die Größe des Brushes, seine Druckstärke |
Diese Höhenmap wollen wir nun im Editor importieren. Dazu müssen wir sie als Bitmap-Datei (.bmp) aus GIMP exportieren. Unter // | Diese Höhenmap wollen wir nun im Editor importieren. Dazu müssen wir sie als Bitmap-Datei (.bmp) aus GIMP exportieren. Unter // | ||
- | FIXME Bild | + | {{ scripting: |
Anschließend wechseln wir zum Editor und wählen dort unter // | Anschließend wechseln wir zum Editor und wählen dort unter // | ||
- | FIXME Bild | + | {{ scripting: |
+ | |||
+ | Falls du mit der Bedienung von GIMP schon vertrauter bist, kannst du mit Höhenmaps relativ leicht auch feinere Terrainformationen erschaffen, wie im fortgeschrittenen Beispiel gezeigt. | ||
+ | |||
+ | \\ | ||
====Fortgeschrittenes Beispiel==== | ====Fortgeschrittenes Beispiel==== | ||
+ | |||
+ | Wir wollen uns einige Werkzeuge von GIMP zunutze machen, um unseren Höhenmap-Bergen ein Upgrade zu verpassen. | ||
+ | |||
+ | Viele Berge in der Natur steigen langsam an und laufen zum Gipfel hin immer steiler zu. Diese Form wollen wir in Höhenmaps nachbilden und setzen dafür den Berg in der Mitte unseres Beispiels oben zurück. Dann wählen wir den Bereich des zu entstehenden Berges mit dem Werkzeug für //Freie Auswahl// aus. | ||
+ | |||
+ | Diesen Bereich füllen wir mit einer Farbe, die leicht über dem normalen Level liegt. Den Farbabstand merken wir uns, denn der soll über die Zeit anwachsen. In unserem Beispiel ist das erste Level '' | ||
+ | |||
+ | {{ scripting: | ||
+ | |||
+ | Über // | ||
+ | |||
+ | Diese beiden Schritte - Auswahl verkleinern und mit hellerer Farbe füllen - wiederholen wir nun, bis wir am Gipfel angekommen ist. Um das steiler werdende Wachstum des Berges umzusetzen, verkleinern wir die Auswahl zum Gipfel hin nur noch um 2, später sogar nur noch um 1 Pixel. Die Farben, die wir einfüllen, werden ebenfalls zum Gipfel hin schneller heller. | ||
+ | |||
+ | {{ scripting: | ||
+ | |||
+ | Würdest du diese Höhenmap im Editor importieren, | ||
+ | |||
+ | {{ scripting: | ||
+ | |||
+ | Diese Höhenmap im Editor importiert liefert ein ziemlich detailliert anmutendes Bergmassiv. Besonders steile Terrainunterschiede können mit dem Glätten-Tool im Editor noch nachbearbeitet werden. | ||
+ | |||
+ | {{ scripting: | ||
+ | |||
+ | \\ | ||
====Weitere Vorteile von Höhenmaps==== | ====Weitere Vorteile von Höhenmaps==== | ||
- | - Man kann direkt schauen, ob man genug Platz auf seiner | + | Abgesehen davon, dass sich Pläne einer Map direkter umsetzen lassen und bestimmte Terrainformationen einfacher zu gestalten sind, haben Höhenmaps einige weitere Vorteile: |
+ | |||
+ | ===Einschätzung der Größenverhältnisse=== | ||
+ | |||
+ | In [[ scripting: | ||
+ | |||
+ | Wenn du Höhenmaps benutzt, kannst du damit Größenverhältnisse von Terrain viel früher korrekt einschätzen. Erstelle dafür zu Beginn eine Texturmap, deren Größe weit über dem liegt, was für die Karte geeignet wäre, zum Beispiel 2000x2000. Zeichne dort deinen Plan ein mit allen wichtigen Orten, für die auf jeden Fall die Größenverhältnisse stimmen müssen. Erstelle dann eine neue Map im Editor mit einer Größe, die dir dafür sinnvoll erscheint. Erstelle eine Kopie deiner großen Höhenmap | ||
+ | |||
+ | Ohne Arbeit zu verlieren, hast du mit der Höhenmap also eine skalierbare Skizze an der Hand, die du für Maps beliebiger Größe weiterverwenden kannst. | ||
+ | |||
+ | ===Vorlage für Texturmaps=== | ||
+ | |||
+ | Im Abschnitt | ||
+ | |||
+ | ---- | ||
+ | |||
+ | =====Texturmaps===== | ||
+ | |||
+ | Texturmaps sind Grafiken, die vom Editor in Bodentexturen umgesetzt werden und eine spezielle {{ scripting: | ||
+ | |||
+ | Die gesetzte Texturgruppe ist dabei nicht uniform: Wenn du im Editor händisch Texturen setzt, entsteht der sogenannte **Kacheleffekt**, | ||
+ | |||
+ | **Wichtig**: | ||
+ | |||
+ | Der Farbraum von Texturmaps muss auf die obige Palette indiziert werden und 8 Bit Farbraumtiefe besitzen. In GIMP ist zusätzlich zu beachten, dass beim Exportieren **unbedingt** die Kompatibilitätsoption // | ||
+ | |||
+ | |||
+ | ====Einfaches Beispiel==== | ||
+ | |||
+ | Wir beginnen damit, die Farbpalette in GIMP zu importieren. Das muss nur ein Mal gemacht werden - danach ist die Palette für diese Installation gespeichert. | ||
+ | |||
+ | Dazu klickst du rechts auf die Liste an Paletten, in der Regel oben rechts im Fenster. Dort wählst du //Palette importieren...// | ||
+ | |||
+ | {{ scripting: | ||
+ | |||
+ | Mit einem Doppelklick auf die neue Palette gelangst du zu den dazugehörigen Farben. Mit einem Klick auf eine der Farben setzt du die Vordergrundfarbe. | ||
+ | |||
+ | {{ scripting: | ||
+ | |||
+ | Wir erstellen dann erneut ein neues quadratisches Bild (// | ||
+ | |||
+ | {{ scripting: | ||
+ | |||
+ | Nun können wir mit den Farben aus der Palette frei die Texturmap malen. Zunächst füllen wir das komplette Bild mit //Grass Bright// als Basistextur. | ||
+ | |||
+ | Um eine Orientierung zu haben, wo wir welche Texturen platzieren wollen, verwenden wir unsere oben erstellte Höhenmap als zusätzlichen, | ||
+ | |||
+ | Als nächsten Schritt öffnen wir also die Höhenmap, selektieren sie vollständig mit //Ctrl + A//, kopieren die Selektion mit //Ctrl + C// und klicken (in der Regel unten rechts) in die Layer-Ansicht unseres Bild. Mit //Ctrl + V// fügen mit dort dann die Höhenmap als neuen Layer ein. Sie wird dort als schwebende Auswahl erscheinen. Mit einem Rechtsklick → //Zur neuen Ebene// fügen wir sie als zusätzliche Ebene ein. | ||
+ | |||
+ | {{ scripting: | ||
+ | |||
+ | **Hinweis**: | ||
+ | |||
+ | Um deine Texturmap wieder zu sehen, setzt du die Transparenz der neuen Ebene auf etwa 40%. Damit du nicht versehentlich die Höhenmap statt der eigentlichen Texturmap editierst, wählst du letztere mit einem Linksklick auf die Ebene wieder aus. | ||
+ | |||
+ | {{ scripting: | ||
+ | |||
+ | Entlang der Berge ziehen wir nun die Texturgruppe //Rock Dark//, entlang des Flusses etwas Erde mit //Earth Rocks Fir//. Denke daran, nur den Stift mit 100% Deckkraft zu benutzen! | ||
+ | |||
+ | Nachdem wir außerdem noch etwas //Rocky Ground//, //Forest Ground// und //Grass Dark// platziert und die Höhenmap ausgeblendet haben (Augensymbol in der Layer-Liste), | ||
+ | |||
+ | {{ scripting: | ||
+ | |||
+ | Natürlich kannst du (auch unter Zuhilfenahme anderer Tools in GIMP) deine Texturmap deutlich detaillierter gestalten. Das hier soll nur als anschauliches Beispiel dienen. | ||
+ | |||
+ | Diese Texturmap wollen wir nun im Editor importieren. Dazu müssen wir sie als Bitmap-Datei (.bmp) aus GIMP exportieren. Unter // | ||
+ | |||
+ | {{ scripting: | ||
+ | |||
+ | Anschließend wechseln wir zum Editor und wählen dort unter // | ||
+ | |||
+ | {{ scripting: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | ====Vorteile von Texturmaps==== | ||
+ | |||
+ | Die Vorteile von Höhenmaps beinhalten selbstverständlich auch die Eigenschaft, | ||
+ | |||
+ | ===Grobe Texturierung ohne Kachelung=== | ||
+ | |||
+ | Speziell für größere Maps kann es aufwendig sein, grobe Texturierung vorzunehmen. Diese kann durch Texturmaps deutlich beschleunigt werden, ohne dass der Kacheleffekt eintritt. | ||
+ | |||
+ | Darüber hinaus fällt es bei Texturmaps viel schneller auf, wenn du ein Gebiet eintönig texturierst, | ||
+ | |||
+ | ===Vorlage für Höhenmaps=== | ||
+ | |||
+ | Die Reihenfolge Höhenmaps → Texturmaps ist natürlich keinesfalls in Stein gemeißelt. Falls du es bevorzugst, zuerst zu texturieren und danach erst die Höhenlevel anzupassen, kannst du auch zuerst eine Texturmap erstellen und diese verwenden, um dich für deine Höhenmap daran zu orientieren. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Im nächsten Kapitel beschreiben wir, wie Bodentexturen über Vertexfarben nochmal zusätzliche Akzente erhalten können. | ||
- | - Man hat eine Vorlage für die Texturmap | + | [[ scripting: |
+ | [[ scripting: | ||
+ | [[ scripting: |