Home

Der Power Fractal Shader V3

Samstag, 27. Oktober 2007 | Autor:

Der Power Fractal Shader V3 ist die Grundlage für fast alle Strukturen in TG2. Da aber eine komplete Dokumentation der einzelnen Shader weder auf Deutsch noch Englisch verfügbar ist, wissen viele nicht was die einzelnen Regler und Werte eigentlich bedeuten. Dem wollen wir hier nun ein wenig abhelfen und versuchen, eine möglichst vollständige und verständliche Beschreibung des Power Fractals zu geben.

Wenn wir unter Terrain mit Add Terrain – Surface Shader – Power Fractal Shader V3 ein Power Fractal hinzufügen, sehen wir erstmal dies:

Zuoberst haben wir, wie bei jedem Shader, den Namen und die Option Enable. Einen Namen sollten wir den Shadern meistens geben, damit wir nicht irgendwann Power Fractal 1-20 haben und den Überblick verlieren. Ausserdem darf jeder Shadername nur einmal vorkommen. Enable abzuschalten macht dann einen Sinn, wenn wir einen Shader ausblenden wollen. Zum Beispiel um die Renderzeit für einen Testrender zu verkürzen. Besonders bei Power Fractal Shadern, die für die Surface zum Einsatz kommen und sehr viele Octaves haben, kann dies viel Zeit sparen.

Darunter sehen wir den Seed. Dieser ist sozusagen die eindeutige ‚ID‚ für das Fractal und bestimmt die Verteilung der Strukturen. Wenn wir einmal die gleiche Verteilung haben wollen, brauchen wir also nur den gleichen Seed angeben.

Darunter finden wir dann die eigentlichen Einstellungen im Scale-Tab. Feature Scale, Lead-In Scale, Smallest Scale und Noise Octaves.

  • Feature Scale: Die Feature Scale gibt die grundlegende Größe der Strukturen in Metern an. Wenn wir also Berge haben wollen, die etwa 7km im ‚Durchmesser‘ sind, stellen wir hier einen Wert von 7000m ein.
  • Lead-In Scale: Dieser Wert setzt die größte Struktur fest. Im Kontext zur Smallest Scale könnte man sie auch Greatest Scale nennen. Die Lead-In Scale ist dann wichtig, wenn wir große Strukturen haben wollen, die aber auch viele Details aufweisen.
  • Smallest Scale: Dies ist die kleinste Struktur. Man könnte auch sagen, sie bestimmt das Detail in unserem Terrain. Wenn wir nur grobe Strukturen wollen, die später noch mit anderen Shadern verfeinert werden, macht es Sinn hier erstmal größere Werte zu nehmen. Zusammen mit der Lead-In Scale bestimmt die Smallest Scale die Noise Octaves.
  • Noise Octaves: Der Power Fractal Shader besteht im Grunde aus vielen, dreidimenionalen Noise-Funktionen verschiedener Skalierung, die übereinander gelegt werden. Noise Octaves gibt an, wieviele Noise-Funktionen/Noise-Oktaven verwendet werden. Dabei wird das Fractal um so detaillierter, je mehr Oktaven zur Berechnung generiert werden. Allerdings gilt hier wie bei so vielem in TG2: So groß wie nötig, so klein wie möglich. Je mehr Noise Octaves ein Power Fractal hat, desto mehr Renderzeit beansprucht es. Deswegen begrenzt TG2 den Wert auf maximal 40. Die optimale Anzahl an Oktaves errechnet TG2 aus den angegebenen Scale-Werten selbst, und trägt sie auch selbstständig ein. Man kann diese Zahl aber auch mit einem eigenen Wert überschreiben.

Ganz unten sehen wir dann noch die üblichen Optionen „Blend by Shader„, „Fit Blendshader to this“ und „Invert Blendshader„. Nun schauen wir uns den Color-Tab an.

  • Apply high/low Color: Gibt einfach zwei Farben an, die auf dem Shader verteilt werden. Die Bezeichnungen High und Low sind irreführend, da sie nicht bedeuten dass wir die High Color oben und die Low Color unten im Terrain haben. Es sind also eher Color 1 und Color 2.
  • Color Contrast: Regelt den Kontrast zwischen den Farben. Bei einem Kontrast von 0 werden die Farben zu einer Farbe gemixt, bei einem Kontrast von 1 oder darüber wird der Übergang zwischen den Farben immer härter.
  • Color Offset: Damit ist es möglich, die „Gewichtung“ der Farben zu verändern. Bei 0 werden beide Farben gleichmäßig dargestellt. Bei einem Wert darüber oder darunter wird also entweder mehr Color 1 oder mehr Color 2 zu sehen sein.
  • Color Roughness: bestimmt einfach wie Rau die Verteilung der Farben ist.
  • Clamp high/low Color: Sind diese optionen aktiv, lässt der Shader keine Farbwerte über 1 oder unter 0 zu. Somit ist das Spektrum auf von 0/0/0 bis 255/255/255 begrenzt. Werte ausserhalb dieses Spektrums sind allerdings a) nur theoretisch, sofern man die Farbe nicht für etwas anderes als Färbungen nutzt und b) können auch über den Kontrast erzielt werden.

Weiter zum Displacement-Tab.

Displacement hebt oder senkt die Oberfläche unseres Shaders nach den Scale-Einstellungen.*

  • Apply Displacement:Aktivierung bzw. Deaktivierung von Displacement.
    • Along Vertical: hebt das Terrain senkrecht zur Planeten Normalen. Also Vertikal. 😉
    • Along Normal: hebt das Terrain senkrecht zur lokalen Normalen. Also 90° zur jeweiligen Fläche.
    • Vertical Only: Hebt das Terrain ausschliesslich in der Vertikalen. Zumindest dem Namen nach; allerdings ist noch unklar, was genau der Unterschied zwischen Along Vertical und Vertical Only besteht.**
    • Lateral Only: „hebt“ das Terrain entlang der Horrizontalen. Wie bei Vertical Only erst nach Compute Normal/Terrain möglich.
    • Lateral Normalized: Benötigt ebenfalls Compute Normal/Terrain. Das Terrain wird entlang der Normalen displaced.
  • Displacement Amplitude: Gibt die Höhe des Displacement in Metern an.
  • Displacement Offset: Hebt oder senkt das gesamte Terrain um diesen Wert in Metern.
  • Displacement Roughness: Wie immer schlicht die Rauheit des Displacement.
  • Displacement Spike Limit: Reduziert lästige Spitzen im Terrain.
  • Continue Spike Limit: Ist dies aktiviert, wird das Spike Limit nicht nur auf die betreffende, zu „spitze“ Octave angewendet, sondern wird auch auf die darunterliegenden kleineren Octaves übertragen, die sonst nicht betroffen wären. Hier eine Tabelle ums anschaulich zu machen: Link.
  • Adjust coastline: Wenn dies Aktiviert ist, wird das Terrain wie folgt beeinflusst:
    • Coastline Altitude: Gibt die höhe in Metern an, bis zu der
    • Coastline smoothing: das Terrain um diesen Wert glatter bzw sanfter gemacht wird.

Kommen wir zum Tweak Noise.

Tweak Noise bestimmt wie unser Fraktal aussieht.

  • Noise Flavour: Dies bestimmt die Form unserer Strukturen. Dabei gibt es Perlin, Billows, Ridges, Mix 1 und Mix2. Am besten ist es, wenn man damit einfach ein wenig experimentiert.
  • Noise Variation: Dieser Regler sowie die unteren verändern die Erscheinung unseres Fractals. Dabei gibt dieser Regler die Stärke der Variation an.
  • Variation Method: Dies gibt die Art an, wie das Terrain variiert wird. Auch hier: Probieren geht über studieren.
  • Bouyancy from Variation: bestimmt wie ’schnell‘ die Variation greift.
  • Clumping of Variation: Mit diesem Regler kann man einstellen, wie sehr Flächen mit ähnlich starker Variation zusammenhängen.
  • Noise Stretch: Damit können wir die Noise-Funktion einfach in eine oder mehrere Richtungen strecken.

Der Warping-Tab

  • Distort by Normal: Ist dies aktiviert, wird das gesamte Fractal in der Horizontalen nochmal ‚displaced‘. Um sich klar zu machen was gemeint ist, sollte mans einfach ausprobieren.
  • Lead-In warp Amount: legt fest, wie stark die Verzerrung durch Distort by Normal maximal ist.

Das wars dann auch schon. Ein großes Dankeschön noch an Frank, der uns erlaubt hat, seine Einträge aus der englischen TG2-Dokumentation als Übersetzungs-Vorlage zu benutzen. 🙂

* Dem Displacement sowie allen hier etwas knapp abgehandelten Punkten widmen wir uns später in einem detaillierteren Artikel. Displacement ist ein wichtiges Konzept, das es einfach einen eigenen Artikel verdient.

** Oshyan schrieb im Planetside Forum (Zitat): „I honestly don’t know the proper distinction between Along Vertical and Vertical Only, but this type of detail will be put into the final device reference which will be a combined effort of myself, Matt and Jo“.

Tags » «

Trackback: