Eine gute Surface Map ist für ein überzeugendes Bild ebenso wichtig wie die passende Atmosphäre oder ein ansprechendes Terrain. Durch sie bekommt die Landschaft sozusagen den farbigen Anstrich.

In dem vorliegenden Tutorial werde ich beschreiben, wie man eine so genannte Surface Map anlegt, wie sich die Position eines Surface layers in der Baumstruktur auf das Erscheinungsbild der Oberfläche auswirkt und welche Auswirkungen die einzelnen Schalter des Surface Layers haben. Alsdann möchte ich zeigen, wie man die Oberfläche einer Landschaft mittels verschieden großer Steine und Gras glaubwürdiger gestalten kann und wie man die letztgenannten "Objekte" gezielt verteilen kann.

Wenn Du auf dieses Symbol im Tutorial triffst, zeigt Dir ein Klick darauf eine Animation, die die Veränderung schrittweise anzeigt.

Basis für dieses Tutorial ist die TG2-Version 1.9.04.1.

Hinzufügen eines Surface Layers:

Verfügbar sind Surface Layer zum einen über die Schaltfläche Shaders in der Schaltflächenleiste. Nach dessen Aktivierung sehen wir in der Baumstruktur oben links zunächst das Base colours, welches dem Terrain eine Grundfarbe verleiht. Wenn wir dieses markieren, können wir die Farbe im Register Color unter Apply heigh color durch klick auf das kleine Quadrat rechts neben dem Schieberegler entsprechend den eigenen Wünschen anpassen.
Darüber hinaus hat man oberhalb der Baumstruktur auf der linken Seite des TG2-Fensters zwei Schaltflächen: Add Layer und Add Child Layer. Um einen Hauptlayer zu erzeugen, klicken wir auf Add Layer / Surface Layer, um einen Child Layer zu erzeugen klicken wir auf Add Child Layer / Surface Layer. Letzterer ist übrigens nur verfügbar, wenn ein Hauptlayer bereits angelegt und markiert ist. Auf die Bedeutung des Child Layers werde ich gleich noch zurück kommen.

Zum anderen kann man einen Surface Layer auch über das unten rechts befindliche Node Network anlegen, in dem man zunächst die Schaltfläche Shaders (rotbraun) wählt und dann per rechtem Mausklick: Create Shader / Other Surface Shader / Surface Layer. Während der über die oben beschriebene Art der Anlage eines Surface Layers selbigen schon richtig einbindet, muß der über das Node Network erzeugte Surface Layer dann jedoch noch eingebunden werden. Dazu ziehen wir vom Base color bei gedrückt gehaltener linker Maustaste eine Verbindung zum Input node des Surface Layers und vom Surface Layer Output zum Planet 01. Siehe hierzu die nachfolgende Abbildung.

Die Baumstruktur einer Surface Map:

Die angelegten Surface layer unterliegen einer gewissen Hirarchie, wie die links stehende Abbildung zeigt. Dies bedeutet im einzelnen:

Surface layer 01 liegt, da er als erster angelegt wurde, im Terrain als unterster. Surface layer 04 liegt darüber, und kann dadurch auch Teile von Surface layer 01 überdecken. Als oberster Surface layer im Terrain liegt Surface layer 05, der somit auch Teile von 01 und 04 überdecken kann.

Surface layer 02 erscheint als "Child" von Surface layer 01 grundsätzlich nur innerhalb der Bereiche, die Surface layer 01 bedeckt. Ebenso kann Surface layer 03 als "Child" von Surface layer 02 auch nur in den Bereichen im Terrain erscheinen, die Surface layer 02 bedeckt. Vergleiche hierzu die Abbildung rechts.

Die Reihenfolge der Layer kann innerhalb einer ebene durch die Pfeil-Schaltflächen Move unterhalb des Baumstrukturbereichs nach oben bzw. unten verändert werden, sobald sie markiert sind.

Nachdem wir nun den ersten Surface layer angelegt haben, wird zunächst das gesamte Terrain in der voreingestellten Farbe des Layers eingefärbt. Nachdem wir diesen in der Baumstruktur markiert haben, haben wir im linken unteren Teil des TG2-Fensters Zugriff auf die verschiedenen Optionen des Layers. Über das Node Network kann man selbige übrigens per Doppelklick auf den Layer in einem eigenen Fenster öffnen. Ich bevorzuge hier jedoch den Zugriff über die Baumstruktur links.

Machen wir uns nun daran, auf die einzelnen Optionen des Surface layers einzugehen:

Surface layer und ihre Einstellungen:

Name: Bei einer Surface Map ist es sehr wichtig, den einezelnen Layern einen aussagekräftigen Namen zu geben, da man ansonsten schnell die Übersicht verliert, nachdem man mehrere Layer mit Childlayer angelegt hat. Ich mache dies etwa in der Form "Surface layer dunkelbraun flach" oder "Surface layer hellgrau steil", entsprechend der Farbe und des Bereiches, wo dieser sichtbar sein soll. Es ist jedoch zu vermeiden, Buchstaben wie ä, ö, ü oder ß zu verwenden, da es sonst beim Laden der TGD-Datei Probleme geben kann.

Enable: Mit dem Schalter Enable steuern wir, ob sich der Layer in unserer Landschaft auswirken soll oder nicht. Dieses kann bei der Kontrolle der Auswirkungen später sehr nützlich sein.

Ungeachtet der Reihenfolge der einzelnen Optionen des Surface layers möchte ich mich zunächst dem unteren Teil widmen:

Register "Coverage and Breakup":
Coverage: Das Coverage steuert, wie stark sich der Layer flächig auf das Terrain auswirken soll. Der Standardwert "1" bewirkt, daß sich die Farbe über das gesamte Terrain erstreckt, wie wir bereits gemerkt haben. Eine zunehmende Reduzierung dieses Wertes bewirkt nun, daß die verwendete Farbe immer weniger Fläche im Terrain bedeckt, wie den nachfolgenden Abbildungen zu entnehmen ist. Bei diesen Bildern ist die Grundfarbe des Terrains dunkelgrau (Standard) und dem von uns hinzugefügte Surface layer habe ich die Farbe weiß zugewiesen. Die Aufnahmen wurden senkrecht aus einer Höhe ca 1000 m gemacht.

Coverage: 0.5
Fractal breakup: 1
Coverage: 0.375
Fractal breakup: 1
Coverage: 0.25
Fractal breakup: 1

Wie sich die flächige Verteilung und Dichte nach dem Reduzieren des Coverage auswirkt, ist von Layer zu Layer verschieden. Falls diese nicht den Vorstellungen entspricht, gibt es die Möglichkeit die Verteilung zu verändern, indem man beim Fractal breakup auf das kleine Quadrat mit den 3 Punkten klickt und "Go to fractal breakup .." auswählt. Im Fractal breakup shader kann man dann durch Klick auf "Random Seed" die Veteilung "zufällig" ändern.

Merke: Coverage für die flächige Ausdehnung des Surface layers bzw. der Farbe!

Fractal breakup: Mit dem Fractal breakup wird gesteuert, wie stark sich der aktuelle Surface layer von den darunter liegenden Layern abgrenzt. Dies tut es nicht nur an den Umrissen der Farbflächen, sondern auch im Bezug darauf, wie "transparent" die Farbe des Layers ist und damit, wie stark sich die Farbe mit der des darunterliegenden Surface layers mischt. Es versteht sich von selbst, daß das dazugehörige Kontrollkästchen aktiviert sein muß.
Der Standardwert beträgt 0.5, wodurch Teile des Layers zwar sehr deckend sind, aber auch eine gehörige Portion der belegten Fläche das in unserem Fall dunkleren Grau durchscheinen läßt und zwar in unterschiedlichem Maße, wie auf den nachfolgenden Abbildungen links zu sehen ist. Um den Effekt zu verdeutlichen, habe ich das Coverage auf 0.375 reduziert. Die Kamera blickt senkrecht aus einer Höhe von etwa 1000 m herab.

Coverage: 0.375
Fractal breakup: 0.5
Coverage: 0.375
Fractal breakup: 1
Coverage: 0.375
Fractal breakup: 2

Indem man das Fractal breakup erhöht, wird die bedeckende Farbe immer weniger transparent, vorher stark transparente Bereiche verschwinden sogar und die Umrisse der bedeckenden Bereiche werden durch diesen Effekt immer klarer.
Andersherum - wenn man den Wert weiter verringert, verschwimmen die bedeckenden Flächen immer mehr und heben sich immer weniger von der darunter liegenden Farbe ab.
Bezüglich des Wertes konnte ich feststellen, daß die Obergrenze nicht durch die äußerst rechte Position des Schiebereglers und damit dem Wert 2 begrenzt ist, sondern auch manuell eingegebene höhere Werte sich noch auswirken. Bei mehr als 5 war jedoch keine Veränderung mehr feststellbar.
Merke: Fractal breakup für die Intensität des Layers bzw. der Farbe

 Invert breakup und Only breakup color: Das Invert breakup (standardmäßig deaktiviert) kehrt die bedeckenden Bereiche um. Wenn diese Option aktiv ist, erscheint der Layer in den Bereichen, wo er vorher nicht war und andersrum. Der Effekt ist vergleichbar mit dem Negativ eines Schwarzweiß-Fotos.

Coverage: 0.375
Fractal breakup: 1
Invert breakup: aus
Coverage: 0.375
Fractal breakup: 1
Invert breakup: ein

Die Option Only breakup color ist standardmäßig aktiviert. Die Deaktivierung ermöglicht es, durch hinzufügen eines Power fractal shaders dem aktuellen Surface layer eine Struktur zu vergeben. Dazu wählt man Add Child Layer / Surface Shader / Displacement Shader / Power fractal shader v3. Bezüglich der Handhabung des Power fractal shaders verweise ich hier auf mein Fake Stones Tutorial.

Fuzzy zone softness: Als letztes auf dieser Registerkarte finden wir den Schalter Fuzzy zone softness, dessen Auswirkungen eingentlich etwas schwer "auf den Punkt" zu bringen sind. Bei einer Reduzierung dieses Wertes grenzen sich die Ränder der bedeckenden Bereiche schärfer ab, so ähnlich wie es das Fractal breakup auch macht. Aber während das Fractal breakup transparentere Randbereiche abzuschneiden scheint, wie wir oben gesehen haben, weitet das Fuzzy zone softness mit zunehmender Reduzierung den bedeckenden Bereich aus und macht die transparenten Bereiche deckender. Somit erhöht sich letztlich auch in gewisser weise das Coverage, wie man bei den folgenden Abbildungen sehen kann. Die Kamera blickt für diese Demonstration aus einer Höhe von ca. 10 m senkrecht nach unten.

Coverage: 0.375
Fractal breakup: 0.5
Fuzzy zone softness: 1
Coverage: 0.375
Fractal breakup: 1
Fuzzy zone softness: 1
Coverage: 0.375
Fractal breakup: 2
Fuzzy zone softness: 1



Coverage: 0.375
Fractal breakup: 0.5
Fuzzy zone softness: 0.75
Coverage: 0.375
Fractal breakup: 1
Fuzzy zone softness: 0.75
Coverage: 0.375
Fractal breakup: 2
Fuzzy zone softness: 0.75



Coverage: 0.375
Fractal breakup: 0.5
Fuzzy zone softness: 0.5
Coverage: 0.375
Fractal breakup: 1
Fuzzy zone softness: 0.5
Coverage: 0.375
Fractal breakup: 2
Fuzzy zone softness: 0.5

Wie sehr sich die Ergebnisse im Zusammenspiel aus unterschiedlichen Einstellungen gleichen können, zeigen die folgenden beiden Abbildungen:

Merke: Fuzzy zone softness für härtere Abgrenzung des Layers bzw. der Farbe mit weniger transparenten Randbereichen und dafür größerer Ausdehnung bei Verringerung des Wertes.

Register "Altitude constrains":
In diesem Register haben wir nun die Möglichkeit, durch das Aktivieren der Optionen Limit maximum altitude und Limit minimum altitude die vertikale Ausdehnung des Surface layers zu steuern.

Limit maximum altitude: Wenn diese Option aktiviert ist, können wir über das Maximum altitude bestimmen, bis in welche Höhe im Terrain der aktuelle Surface layer erscheinen soll. Gibt man hier z. B. den Wert 2000 ein, dann wird sich der Surface layer vom niedrigsten Bereich im Terrain bis in eine Höhe von 2000 m erstrecken. Der Wert für Max alt fuzzy zone bestimmt hier nun, über welchen Höhenbereich unterhalb der eingegebenen 2000 m die Farbe beginnen soll, "auszulaufen". Wenn dieser Wert 0 ist, endet der Layer mit einer scharfen Schnittkante bei 2000 m Höhe, setzen wir aber einen Wert von beispielsweise 500 ein, beginnt die Farbe bei einer Höhe von 1500 m bis 2000 m allmählich weniger zu werden. Siehe hierzu die nachfolgenden Abbildungen bzw. Animation.

Maximum altitude: 2000
Max alt fuzzy zone: 0
Maximum altitude: 2000
Max alt fuzzy zone: 500

Merke: Limit maximum altitude für die maximale Höhe des Layers bzw. der Farbe - Max alt fuzzy zone für den Übergangsbereich innerhalb der maximalen Höhe.

Limit minimum altitude: Analog zum Maximum altitude gibt es über die aktivierte Option Limit minimum altitude die Möglichkeit, eine Mindesthöhe zu bestimmen, ab der die Farbe des Surface layers nach oben hin beginnen soll. In diesem Fall sorgt das Min alt fuzzy zone dafür, daß der Surface layer nicht abrupt ab der eingegebenen Höhe beginnt, sondern über den hier eingegebenen Höhenbereich allmählich immer stärker greift. Geben wir für das Minimum altitude den Wert 1000 ein und für das Min alt fuzzy zone den Wert 500, dann Beginnt der Layer in 1000 m Höhe, wird aber erst in 1500 m die Volle ausbreitung haben. Vergleiche hierzu die folgenden Abbildungen bzw. Animation.

Minimum altitude: 1000
Min alt fuzzy zone: 0
Minimum altitude: 1000
Min alt fuzzy zone: 500

Merke: Limit Minimum altitude für die Mindesthöhe des Layers bzw. der Farbe - Min alt fuzzy zone für den Übergangsbereich ab der Mindesthöhe.

Selbstverständlich kann man für die Höhensteuerung auch beide Werte - Maximum altitude und Minimum altitude - zusammen verwenden.

Der Schalter Use Y for heigt wirkt sich hier in unserem Fall nur in einem Ausmaß aus, daß er kaum sichtbar ist, weshalb ich ihn hier vernachlässigen möchte.

Register "Slope constrains":
Im Register Slope constrains können wir Einfluß darauf nehmen, bis zu welcher Steigung oder ab welcher Steigung (gesehen in Grad) unser Surface layer sich auswirken soll.

Limit maximum slope: Ist diese Option aktivert, steuern wir hier den maximalen Steigungswinkel. Wie bei der Höhe auch, steuert das Max slope fuzzy zone hier einen Übergangsbereich. Wenn wir hier einen Winkel von 30° für den Maximum slope angle und ein Max slope fuzzy zone von 10° verwenden, dann erscheint unser Surface layer bis zu einer maximalen Steigung von 30°, beginnt jedoch schon bei einem Winkel von 20° allmälich weniger zu werden.

Maximum slope angle: 30
Max slope fuzzy zone: 0
Maximum slope angle: 30
Max slope fuzzy zone: 10

Merke: Limit maximum slope für die Begrenzung des Layers oder der Farbe bis zu einem maximalen Steigungswinkel - Max slope fuzzy zone für den Übergangsbereich innerhalb der maximalen Steigung.

Limit minimum slope: Analog zum Limit maximum slop steuert der Minimum slope angle den Steigungswinkel, bei dem unser Surface layer beginnen soll, sich auszuwirken. Auch hier steuert das Min slope fuzzy zone einen Übergangsbereich. Geben wir hier beispielsweise für den Mindest-Steigungswinkel Minimum slope angle 30° ein und für das Min slope fuzzy zone den Wert 10° ein, beginnt unser Layer zwar bei einem Winkel von mindestens 30°, entfaltet jedoch seine volle Ausdehnung erst ab einem Winkel von 40°.

Minimum slope angle: 30
Min slope fuzzy zone: 0
Minimum slope angle: 30
Min slope fuzzy zone: 10

Merke: Limit minimum slope für die Verteilung des Layers bzw. der Farbe ab einem Mindest-Steigungswinkel - Min slope fuzzy zone für den Übergangsbereich ab der minimalen Steigung.

Der Schalter Use Y for slope Slope key wirkt sich auch hier nur in einem Ausmaß aus, daß er zu vernachlässigen ist.

An dieser Stelle ein herzliches Dankeschön an "Nikita" für das Terrain, welches sich zum Demonstrieren der Slope-Optionen ganz hervorragend eignet.

Es steht jetzt noch die Frage im Raum, wie man denn die Altitude und den Slope überhaupt ermittelt. Nun, das ist in TG2 ganz einfach: Man läßt die Vorschau wegen der besseren Beurteilungsfähigkeit bis wenigstens 80 % rendern. Alsdann kann man unterhalb der Vorschau bei den Koordinaten unter "Y" die Höhe und unter "Slope" den Steigungswinkel des Terrains ablesen, wenn man die Maus über die Vorschau bewegt.

Register "Effects":
Hier geht es um das Intersect underlying. Bezüglich der Arten der Intersection, die als erste Option im Register Effects aus dem Dropdown-Listenfeld auszuwählen sind, möchte ich "Goms" zitieren, der diesbezüglich einen Artikel im TGBlock verfaßt hat:

"Der Tab Effects im Surface layer bietet drei Arten von intersection an. Der erste ist Favour Depressions. Der Name bezeichnet schon die Funktion: Es werden „Depressionen“, also Stellen die tiefer gelegen sind, gesucht und abgedeckt."

"Favour Rises: Diese Funktion scheint genau das gleiche wie Favour depression zu machen, nur mit Spitzen bzw. Erhebungen in der Surface."

"Displacement Intersection" (keine Definition vorhanden)

Die Optionen in diesem Register sind recht mysteriös, denn hier klaffen die Interpretationen bezüglich der Auswirkungen der einzelnen Schalter in der "Fachwelt" recht weit auseinander. Ich möchte hier deshalb nicht noch eine Interpretation einfügen, sondern die Schalter anhand animierter GIF's demonstrieren, was sicher hilfreicher ist, als die nachfolgenden Bilder zu vergleichen, da sie sich alle sehr gleichen. Sie wurden allesamt mit der Intersectionart Favour Depressions gerendert. Da die anderen Arten sehr vergleichbar miteinander sind, habe ich es mir erspart, hier eine koplette Vergleichsserie zu erstellen.

Die Auswirkungen der Schalter Intersection Zone, Intersection Shift und Min intersection shift sind offenbar stark vom Terrain abhängig. Grundsätzlich sind sie jedoch derart, daß sie das Terrain unterhalb des Surface layers entsprechend seiner Ausdehnung anheben oder absenken, jedoch interessanter weise nicht immer an allen Stellen.

Die Animationen für die senkrechte Folge der Schalterstellungen sind über den Spalten zu erreichen und die für die Waagerechten Folgen - Zone, Shift und Min shift - über Klick auf das jeweils erste Bild einer Zeile. Die Reihenfolge der Bilder in der Animation entsprechen der Reihenfolge in den Spalten bzw. Zeilen.

 

Intersection Zone: 0
Intersection shift: 2
Min intersection shift: -2
Intersection Zone: 2
Intersection shift: 2
Min intersection shift: -2
Intersection Zone: 4
Intersection shift: 2
Min intersection shift: -2



Intersection Zone: 2
Intersection shift: 0
Min intersection shift: -2
Intersection Zone: 2
Intersection shift: 2
Min intersection shift: -2
Intersection Zone: 2
Intersection shift: 4
Min intersection shift: -2



Intersection Zone: 2
Intersection shift: 2
Min intersection shift: 0
Intersection Zone: 2
Intersection shift: 2
Min intersection shift: -2
Intersection Zone: 2
Intersection shift: 2
Min intersection shift: -4

Merke: Das Intersection shift hebt den Layer gegenüber der umgebenden Fläche im Terrain an, so daß eine sichtbare Kante entsteht.

Wenden wir uns nun dem oberen Teil der Einstellungsmöglichkeiten des Surface layers zu. Er umfaßt die Registerkarten Color, Luminosity, Displacement und Smoothing.

Register "Color":
Mit dem Häkchen bei Apply color bestimmt man, ob die hier eingestellte Farbe verwendet werden soll oder nicht - logisch.
Ein Klick auf das kleine Quadrat rechts neben dem Schieberegler läßt die Auswahl der Farbe zu, während man mit dem Schieberegler selbst direkt Einfluß auf die Helligkeit der Farbe nehmen kann, ohne das Farbdialogfenster aufrufen zu müssen, was ganz praktisch ist.
Über die Option Color function hat man die Möglichkeit, anstelle der einfachen Farbe z. B. eine Textur für die Farbgebung zu benutzen. Auf diese Möglichkeit werden wir später noch zurückkommen.
Merke: Color gibt dem Layer die Farbe oder weist diesem über Color function eine Textur zu.

Register "Luminosity":
Mit der Option Luminous hat man die Möglichkeit, den aktuellen Surface Layer im Schatten aufzuhellen. Dabei hat man die Möglichkeit, über Luminosity tint der Aufhellung eine beliebige Farbe zuzuweisen. Vergleiche hierzu die folgenden Abbildungen bzw. Animation. Es ist deutlich zu erkennen, daß die Farbe des Layers, die außerhalb des Schattens liegt, durch die Luminosity nicht verändert wird.

Luminosity: aus
Luminosity tint: weiß
Luminosity: 0.05
Luminosity tint: weiß
Luminosity: 0.1
Luminosity tint: weiß

Merke: Luminosity hellt die im Schatten liegende Farbe des Layers auf.

Register "Displacement":
Die Optionen im Register Displacement zeigen für sich genommen bei Veränderung keine Auswirkungen. Einzig die Displacement function kann hier für den Surface layer genutzt werden - z. B. um diesem eine eigene Struktur zu verleihen. Ich verweise hier bzgl. der Auswirkungen eines Displacement noch mal auf mein Fake stones Tutorial, in dem ich diese Funktion bereits ausführlich beschrieben habe.

Register "Smoothing":
Im Register Smoothing gibt es die gleichnamige Option, mit der sich die Oberfläche des Terrains unter dem relevanten Layer glätten läßt. Dies wirkt sich jedoch mitunter dennoch auf die gesamte Erscheinung des Terrains aus. Da eine Serie von Vergleichsbildern hier nicht viel hilft, stelle ich zum Vergleich nur eine Animation als Wechsel von 2 Bildern zur Verfügung: Smoothing aus und Smoothing 1. In unserem Fall sieht man deutlich, daß sich in dem steileren Bereich, in dem vom hellgrauen Layer nichts ist, auch nichts verändert, sondern nur dort, wo der Layer in Erscheinung tritt.

Color Function mit Hilfe von Texturen:
Wie bereits oben angesprochen, gibt es zur Farbgebung in Terragen auch noch andere Möglichkeiten, als dem Surface layer eine normale Farbe zuzuweisen: Auf der Registerkarte Color gibt es die Option Color function. Mittels dieser Option ist es möglich, Texturen (Bitmaps) für die Farbgebung heranzuziehen.
Dazu klickt man neben dem Textfeld auf das kleine Quadrat mit den 3 Punkten, wählt Create new shader / Color Shader / Image map shader. Daraufhin kann man in einem Datei-Dialogfenster die gewünschte Textur auswählen. Der eigentliche Image map shader mit seinen verschiedenen Optionen ist dann ebenfalls wieder durch Klick auf das kleine "Punktquadrat" und "Go to image map shader" zu erreichen.
Damit die Textur entsprechend dem Coverage des Surface layers auch deckend in Erscheinung tritt, sollte das Fractal breakup wenigstens auf 2 stehen, da sonst die Farbe des darunter liegenden Surface layers gegebenenfalls zu stark durchscheinen könnte.
Die Ausgesuchte Textur wird in den Standardeinstellungen des Image map shaders dann praktisch wie mit einem Diaprojektor durch die Kamera auf das Terrain projeziert.
Hat man eine ausreichend große Textur, kann die Size auf der Registerkarte Prjection, Location mit 1 und 1 gelassen werden.
Ist die Textur jedoch relativ klein - vielleicht 200 x 200 Pixel - würde diese auseinandergezogen und wir bekämen nur ein verwaschenes Ergebnis. In diesem Fall kann man auf der Registerkarte Flip, Repeat die Optionen Repeat x und Repeat y aktivieren, so daß die Textur dann sowohl in der Breite als auch in der Tiefe unseres Terragenbildes wiederholt wird. Dann sollte man jedoch die angesprochene Size auf kleiner als 1 gesetzt werden. Bei einem Wert von 0.5 z. B. wird die Textur zweimal in der Breite und Tiefe nebeneinander gesetzt, bei 0.3 dreimal.
Diese Option kann natürlich auch benutzt werden, um den Maßstab der Objekte auf der Textur (z. B. Gras-Textur) an den Maßstab unseres Terrains anzupassen. Bei den folgenden 2 Bildern habe ich einmal eine ausreichend große Textur (3456 x 2304) im Verhältnis 1 : 1 verwendet und ein anderes mal einen Ausschnitt dieser Textur (200 x 200) über Repeat und dem Verhältnis 0.3 : 0.3, was sich maßstablich vorteilhaft auf mein Bild ausgewirkt hat. Die Bilder können durch Klick vergrößert angeschaut werden.

imagemap1mini imagemap2mini

Übrigens ... die Struktur der Erd-/Staubfläche am unteren Bildrand habe ich durch sehr kleine Fake stones realisiert, da dieser Surface layer ansonsten sehr glatt gewesen wäre. Die Grastextur wurde über die Limit maximum slope Option auf einen Winkel von maximal 45° beschränkt, das Coverage beträgt 0.45, das Fractal breakup 2 und das Fuzzy zone softness habe ich auf 0.5 reduziert.
Als Projection type wurde Through camera gewählt. Auf alle anderen Optionen im Image map shader möchte ich hier nicht weiter eingehen, da mir deren Funktion und Anwendungsgebiet selbst noch nicht so ganz klar sind. Eine Ergänzung dieses Tutorials wird gegebenenfalls später erfolgen.

Verteilung von Fake stones oder Objekten:
Objekte - wie z. B. Gras, Bäume aber auch Steine als Fake stones - möchte man oft nicht über das gesamte Terrain verteilen, sondern höhenmäßig staffeln oder nur bis zu einem bestimmten Steigungswinkel oder nur auf Teile des Terrains. Dieses kann auf zweierlei Arten recht einfach realisiert werden: Dafür gibt es zum einen den Distribution shader - zu erreichen über Surface Shader / Color Shader / Distribution shader v4 - oder aber einen ganz normalen Surface shader, was von der Handhabung noch einfacher ist, da man die Verteilung des Shaders ja über die Farbe kontrollieren kann. Deshalb möchte ich hier zunächst die Vorgehensweise bei der letztgenannten Möglichkeit schildern:

Nachdem wir einen Surface Layer angelegt haben, bestimmen wir zuerst über Coverage, Altitude constrains und Slope constrains, wie wir unsere Objekte verteilen möchten. In meinem Fall sind es die bereits oben erwähnten ganz kleinen Steinchen eines Fake stones shaders. Da das Apply color standardmäßig noch aktiviert ist, kann man das ja noch sehr gut beurteilen. Alsdann geben wir diesem Surface shader einen aussagekräftigen Namen - z. B. "Verteilung Steine klein". Anschließend deaktivieren wir das Apply color, da wir ja nicht die Farbe verwenden wollen, sondern den Shader als Maske für unsere Verteilung der Steine. Ist dieses vollbracht, kann man sich dem Fake stones widmen, deren Erstellung und Gebrauch ich in meinem Fake stones shader Tutorial beschrieben habe. Als letztes aktivieren wir in dem Fake stones shader unten Blend by shader und wählen durch Klick auf das kleine Quadrat mit den 3 Punkten Assign shader und dort unseren Surface shader mit dem Namen "Verteilung Steine klein". Und ... ab jetzt werden die Steine nur noch in den über diesen Shader definierten Bereichen erscheinen.

Die Variante mit dem Distribution shader v4 ist genau so zu handhaben, allerdings fehlt uns hier die Kontrollmöglichkeit wegen der fehlenden Farbe.

Fazit:
Wir haben nun gelernt, wie man eine Surface Map anlegt, wie sich die Position der einzelnen Layer innerhalb der Hirarchie auswirkt und die einzelnen Optionen des Surface layers kennengelernt. Es spricht nichts dagegen, diese Kenntnisse nun in die Praxis einfließen zu lassen. Die nachfolgenden Miniaturbilder können durch Klick darauf größer dargestellt werden. Sie erheben übrigens nicht den Anspruch eines Meisterwerkes - es soll ja hier nur die Vorgensweise und die wichtigsten Einstellungen beschrieben werden. Das TGD-File kann hier für eigene Experimente heruntergeladen werden.

terrain01mini
Nach der Auswahl eines Terrains habe ich einen schönen Viewpoint ausgesucht. Alsdann habe ich die Atmosphere etwas angepaßt - die Haze density verringert und bei der Bluesky density color die Farbintensität etws verringert und etwas heller eingestellt.

 terrain02mini

Im nächsten Schritt habe ich die Base color des Terrains auf dunkelgrau gesetzt.
Es folgt nun ein Layer für das Hellgrau der Felsen, dessen Min slope angle ich auf 36° eingestellt habe, da dieser nur die steileren Bereiche in unserem Terrain betreffen soll. Das Min slope fuzzy zone beträgt 10, damit die Übergänge etwas sanfter sind. Die volle Farbausbreitung erfolgt somit erst ab einem Winkel von 46°.
Das Coverage wurde reduziert, damit ein ausgewogenes Verhältnis zwischen dunklen und hellen Partien im Felsen besteht. Da solche hellen Stellen in der Natur oft eher scharf abgegrenzt sind, habe ich hier das Fractal breakup auf 1 erhöht. Dies bewirkt außerdem, daß die Farbe nur wenig Transparenz besitzt.
Es folgt ein Layer für gemeine Erde und Staub in einer weniger intensiven beigen Farbe, der nur in etwas flacheren Steigungswinkeln erscheinen soll. Deshalb habe ich hier den Max slope angle auf 36° gestellt, wobei dessen Max slope fuzzy zone ebenfalls 10 beträgt. Das Beige beginnt also bei etwa 26° allmählich auszulaufen. Da der Staub respektive die Erde alle Bereiche bedecken soll, wo nicht der steilere Felsen hervortritt, habe ich das Coverage auf 1 belassen. Das Fractal breakup habe ich vorläufig ebenfalls beim Standardwert belassen.

 terrain03mini

Im folgenden Schritt habe ich dem Erd-Layer einen Child layer zugeordnet, dem ich die Farbe braun gegeben habe, um das doch gleichmäßige Beige etwas zu beleben. Die Slope constrains kann man für diesen Layer vernachlässigen, da er ja als Child eh nur dort erscheinen kann, wo auch das Beige sichtbar ist. Das Coverage habe ich auch hier nach Gefühl so ausgewählt, daß das Braun nicht zu vordergündig ist. Einzig das Fractal breakup habe ich erhöht auf 1.25, um das Braun deutlicher hervortreten zu lassen.
Für das Tal habe ich mir etwas Vegetation ausgedacht, die ich mittels eines Surface layers in einem mittleren Grün realisieren möchte. Ich habe dessen Maximum altitude nach Ermittlung per Maus im Vorschaufenster auf 270 m gesetzt, wobei das Maximum fuzzy zone den Wert 20 hat. Das Grün beginnt also in 250 m Höhe allmählich auszulaufen. Zusätzlich habe ich einen Maximum slope angle mit 34° definiert, damit auch im Tal nur die flacheren Bereiche bedeckt werden. Da auch hier das mittlere Grün allein zu eintönig wäre, habe ich auch diesen Layer mit einem Child layer versehen - hier in einem dunklen Grün. Auch hier können wir die Slope constrains bzw. Altitude constrains vernachlässigen und einzig mit dem Coverage und dem Fractal breakup spielen. Für letzteres habe ich einen Wert von 1.25 für gut befunden.

Grundsätzlich hätte ich die beiden Farbabsetzungen (braun und dunkles Grün) auch mit einem normalen Surface layer realisieren können. Dabei hätte ich jedoch - um den gleichen Effekt zu haben - auf die richtige Reihenfolge in der Baumstruktur der Layer achten müssen und darüber hinaus Altiude- und Slope-Constrains eingeben müssen. Daher war die Variante mit dem Child layer offensichtlich die bessere.

terrain04mini
Da die Erdfläche im Vordergrund doch sehr glatt ist, möchte ich diese mit kleinen Steinen strukturieren. Dafür habe ich zuerst einen Surface layer anglegt, den ich für die Verteilung derselben heranziehen möchte. Weil die kleinen Steinchen unten im Tal eh nicht sichtbar wären, habe ich das Minimum altitude auf 340 m gesetzt, was etwas unter dem Höhenniveau des Vordergrundes liegt. Das Min alt fuzzy zone beträgt hier 0, da es nicht von Belang ist. Desweiteren habe ich das Maximum slope angle auf 45° gesetzt, da die Steinchen nicht in einem steileren Winkel erscheinen sollen (würden ja runterrollen). Das Max slope fuzzy zone beträgt auch hier 0. Das Coverage braucht hier nicht berücksichtigt werden, da die Dichte der Steine über den Fake stones shader definiert wird.
Es folgen 2 Fake stones shader mit sehr kleinen Steinchen in zweierlei Farben, die über die Option Blend by shader durch den vorher angelegten Surface layer verteilt werden. Alsdann habe ich noch einen dritten Fake stones shader angelegt mit etwas größeren Steinen, der ebenfalls den Verteilungs-Surface-layer verwendet, da auch diese Steine in diesem definierten Bereich liegen sollen.
Last, but not least wollte ich die Verwendung einer Textur ebenfalls demonstrieren, weshalb ich den Vordergrund mit einer solchen belegt habe. Dazu habe ich einen Surface layer angelegt, dessen Höhe ich über Minimum- und Maximum altitude so definiert habe, daß sie nur auf dem kleinen Plateau im Vordergrund erscheint - das Plateau im Hintergund liegt etwas höher. Zusätzlich habe ich auch noch den Maximum slope angle auf 45° gesetzt. Die eigentliche Textur wurde dann über Color function und einen Image map shader eingebunden. Das Coverage habe ich so gewählt, daß die Textur an einigen Stellen aufgebrochen ist, so daß man von dem darunter liegenden Erdlayer mit den Steinchen auch noch etwas sehen kann.

Abschließend möchte ich noch einmal darauf hinweisen, daß der Wahl der Farben die größte Sorgfalt zukommen sollte, da sie mit entscheidend dafür ist, ob ein Bild überzeugend rüber kommt. Die Farben sollten nicht zu kräftig oder zu rein sein, da solche auch in der Natur eher seltener zu sehen sind. Die Sättigung meiner Farben ist oft deutlich weniger als 100.
Es macht auch keinen Sinn, die Farbe eines Layers mit vielen Abstufungen zu versehen, die sich kaum voneinander unterscheiden. Für die Simulation von Vegetation reichen m. E. 2 - 3 Layer absolut aus - helles Grün, dunkles Grün und evtl. ein blasses Grün mit einem Stich zum beige für vertrocknetes Gras.
Die Beleuchtung des Terrains bzgl. Sonnenstand spielt ebenso für die Erscheinung der Surface eine Rolle wie die Farbe als solches. Frontales Licht mit der Sonne hinter der Kamera zerstört oft die feinen Strukturen. Meine Bilder haben die Sonne meist seitlich mit einer leichten Gegenlicht-Komponente, da so die Strukturen schön herausmodelliert werden.

nach oben