Displacement Maps

Die Displacement Maps sind dafür da, Struktur in das Terrain reinzubringen (Displacement = Verschiebung). Diese werden mit simplen, aber effektiven Werkzeugen im Hammer erstellt. Die Displacement Brushes werden dann in einzelne Dreiecke aufgeteilt, wie man das von Half-life1 per Hand gemacht hat. Displacement wird für die Grundstrukturierung gebraucht. Denkbare Ergebnisse sind Hügel, Täler oder Gräben.

displace01.jpg

Ein einfacher Displacement-Brush.

Vorteile und Einschränkungen

Die Displacement Brushes können sehr schnell dargestellt werden, weil sie immer in einzelnen Paketen gerendert werden. Displacement Brushes werden sogar schneller als normale Brushes, wenn man von den Faces ausgeht. Nachdem sie erstellt wurden, können sie mit dem Paint Geometry Button gestaltet werden; es gibt einige mehr Möglichkeiten als bei den normalen Brushes. Zusätzlich kann der Alpha Blend Befehl benutzt werden um spezielle Texturen ineinander zu verwischen. Am häufigsten wird das bei flüssigen Übergängen zwischen Stein und Gras oder Gras und Sand verwendet. Diese Informationen können ausserdem verwendet werden um Detail Props oder Sprites auf der Oberfläche anzuzeigen.

Doch auch Displacement Brushes haben gewisse Einschränkungen. Alle Displacementoberflächen haben immer 4 Seiten, man kann sie nicht mit weniger bzw. mehr Seiten erstellen. Sie sind ausserdem immer statisch - Man kann sie nicht bewegen, animieren oder an irgendein Entity binden. Displacement Brushes dichten die Map nicht ab und müssen daher immer einen weiteren Brush dahinter haben, der das ganze vor dem Void abdichtet. Weitere Einschränkungen werden weiter unten besprochen.

Charakteristische Eigenschaften

 
* Einheit aus dreieckigen Elementen, die mithilfe der **Displacement Tools** deformiert werden können.
* Haben drei unterschiedliche Anzahlen der einzelnen Dreiecke
* Sind lightmapped.
* Werden mithilfe eines Brushes als Grundfläche erstellt -- Der Brush wird nach dem Compile verworfen.
* Mehrere Displacementoberflächen können auf einen Brush aufgetragen werden.
* Die Kollisionen mit der Welt werden automatisch berechnet.
* Können nur auf Brushes mit 4 Kanten erstellt werden.
* Sie blocken weder VIS noch schliessen sie die Map vor dem Void ab.
* Können nicht an in ein Entity integriert werden.
* Sind statisch -- man kann sie nicht bewegen.
* Einseitig -- Die Displacement-Brushes sind nur von einer Seite sichtbar.
* Sie blocken den Schatten nicht, wenn er von einer der unsichtbaren Seiten kommt.
* Auf ihnen können Alpha Maps verwendet werden um zwei Texturen innereinander zu verwischen.
* Die Angabe der Detail Props oder Sprites können in dem **Date File** angegeben werden.
* Können rotiert, skaliert, geclippt werden und mithilfe des **Vertex Tools** manipuliert werden - genauso wie Brushes.

Herstellung von Displacement Brushes

Die Displacements werden mithilfe eines soliden Brushes als Grundlage erstellt. Sobald der Displacement-Brush aufgetragen wurde, wird der Rest des Brushes verworfen. Wenn nur eine Seite des Brushes Informationen über eine Displacement-Map enthält, werden die anderen Seiten auch gelöscht. In anderen Worten: Sobald man einen Brush zu einem Displacement-Brush erstellt hat, ist er ingame nicht mehr solid und der Rest davon wird gelöscht.

Brush ohne Displacement-Map

Die Seiten dieses Brushes werden ingame gelöscht

Erstellen eines einfachen Displacement-Brushes

Um einen einfachen Displacement-Brush mit verändertem Terrain zu erstellen müsst ihr folgendes tun:

  • 1. Erstelle einen einfachen Brush mit dem Block Tool, welcher die Grundlage für unseren Displacement-Brush sein wird
  • 2. Öffne das Texture Application Tool und wechsle in den Displacement-Abschnitt.
  • 3. Wähle in der 3d-Ansicht eine Seite aus. mit Strg + Mausklick fügst du weitere hinzu.
  • 4. Nun klicke auf Create um den Displacement-Brush zu erstellen. Gib einen Wert zwischen 2 und 4 ein um die Stärke einzustellen.

Die Displacement können 3 unterschiedliche Stärken haben

  • 5. Wähle nun im Displacement Abschnitt den Paint Geometry Button. Ein neues Fenster öffnet sich.
  • 6. In der 3d-Ansicht kannst du jetzt mit Linksklick das Terrain erhöhen und mit Rechtsklick absenken. Benutze den Radius-Schieber um die Größe der Kugel zu verändern.

Displacement Einstellungen

Verwende den Displacement Mask() Button ganz oben in der Leiste um die Auswahl zwischen Displacement-Brush und normalem Brush hin- und herzuschalten. Du kannst auch mehrere Displacement-Maps auf einen Brush legen. Solang die Seite 4 Kanten hat, kannst du daraus eine Displacement-Map machen:

Mehrere Displacement-Maps auf einem Brush.

Sew bei Displacements verwenden

Der Sew Button wird gebraucht um eine oder mehrere Ecken miteinander zu verschweißen (sew = annähen). Das ist unter folgenden Gegebenheiten möglich:

  • Die beiden Displacements müssen sich eine Kante teilen.
  • Displacements mit unterschiedlichen Auflösungen.
  • Displacements mit gewöhnlichen Brushes, solange sie sich eine Kante teilen
  • Zwei Displacements, wenn die eine exakt in der Mitte von der anderen liegt (auch T-Stück genannt).


Hier sind einige Beispiele bei denen ihr den Sew Befehl benutzen könnt:

Gleiche Displacements, die sich eine Kante teilen


Displacements mit unterschiedlichen Auflösungen, die sich eine Kante teilen


Displacement und ein normaler Brush, die sich eine Kante teilen


Gleiche Displacements, die sich eine Kante exakt in der Mitte teilen

Bei dem folgenden Beispiel kann sew nicht angewendet werden, weil sie sich nicht eine Kante teilen:



Zwei Flächen, die sich nicht eine Kante teilen, können nicht „zusammengenäht“ werden

Andere Möglichkeiten der Veränderung von Displacements

Neben den Geometry Tools gibt es auch noch andere, simplere Methoden, die Displacements zu verändern . Diese sind vor allem für grobere Veränderungen geeignet.

Umformung

Displacements können bewegt, skaliert und rotiert werden, in dem man das Selection Tool verwendet. Das ganze funktioniert wie bei den normalen Brushes. Allerdings editiert man hier nur den Brush, das Displacement bewegt sich allerdings mit.

Clippen

Man kann Displacement Brushes auch clippen. Mithilfe des Clip Tools schneidet man überflüssige Teile des Brushes ab oder teilt sie in 2 Teile. Doch Achtung: Das Ergebnis des Clip-Tools muss 4-seitig sein, um keinen Fehler zu verursachen

Hier sind einige Beispiele:

disclip1.jpg
Vor dem Clippen…

disclip2.jpg
Während dem Clippen. In der 2d-Ansicht wird eine weiße Linie als Vorschau auf das Ergebnis dargestellt.

disclip3.jpg
… und nach dem Clippen

Vertex Manipulation

Auch das Vertex Manipulation Tool kann für Displacements verwendet werden. Mit dem Vertex Manipulation Tool kann man Ecken verschieben, ohne dass sich die Displacements davon entfernen. Man kann ausserdem das gesamte Terrain damit erhöhen/senken.

Doch auch hier gibt es etwas zu beachten:

  • Bearbeitet wird der Grundbrush, nicht das Displacement an sich.
  • Man kann hierbei keine Vertices hinzufügen oder zusammenschieben, denn das würde die gesamte Displacementmap löschen
  • Das Ergebnis muss auf jeden Fall planar sein. Wenn es nicht planar ist, wird die Displacementmap gelöscht.

Hier sind einige Beispiele für das Vertex-tool:

disvertex1.jpg
4 verschiedene Stärken der Displacementmaps

disvertex2.jpg
Im Vertex-Edit Modus

disvertex3.jpg
Auswahl einiger Vertices und das gemeinsame Verschieben.

disvertex4.jpg
Das Ergebnis

Löcher innerhalb der Displacements

Manchmal muss man Löcher innerhalb der Displacement-Brushes erstellen. Seht euch dafür Löcher in Displacements an.

Übereinanderlegen zweier Texturen (Alpha-Blend)

Das Paint Alpha Tool erlaubt es dir zwei verschieden Texturen übereinanderzulegen, in dem man den Alpha Channel bemalt. Der Alpha Channel beinhaltet Informationen über die Transparenz. Mithilfe dieses Tools kann man Übergänge z.B zwischen Fels und Gras machen. Allerdings muss man dafür spezielle Texturen verwenden/erstellen, die mithilfe eines Shaders diese Funktionen erlauben. Der Name dieser Texturen beginnt mit blend. Nur diese können für das Alpha Blending benutzt werden. Wenn eine Standardtextur verwendet wird, gibt es keinen sichtbaren Effekt des Alpha-Blends.

Um so eine Blend-Textur innerhalb eines Displacementbrushes zu verwenden müsst ihr folgendes tun:

  1. Öffne das Texture Application Tool und öffne den Face Edit Dialog
  2. Klicke in der 3d-Ansicht auf die Seite mit dem Displacement-Brush
  3. Klicke auf browse um den Texture Browser zu öffnen
  4. Tippe in das Eingabefeld unten blend ein.
  5. Doppelklicke auf eine Textur um sie auszuwählen.
  6. Drücke auf apply um die Textur auf den Displacement Brush zu legen.
  7. Wechsle zum Displacement Tab.
  8. Wähle das Paint Alpha Tool aus. Ein neues Fenster öffnet sich
  9. Tippe 100 in das Feld wo Value steht. Vergewissere dich, dass Raise/Lower angewählt ist.
    Merke: Kleine Nummern in dem Value Feld bewirkt, dass weniger schnell die Textur aufgetragen wird; höhere bewirken das Gegenteil.
  10. Zum Schluss klicke mit der linken Maustaste auf eines der Vertices in der 3d-Ansicht, um Alpha-Informationen hinzuzufügen. Rechtsklick löscht die jeweilige Information auf dem Vertex wieder.


alpha.jpg
Die Grüne Box ist die Mitte des Feldes, wo die Informationen aufgetragen werden.

Löcher in Displacements schneiden

Manchmal muss man Löcher in ein displacement machen. Leider gibt es keinen Automatischen weg wie man das machen könnte. Aber man kann eine Kombination aus Vertex editiung und clipping benutzen für ein brauchbares ergebnis. Die Methode variiert, je nachdem ob dein displacement schon da ist oder du ein neues baust.

Die beste Methode ein Loch in ein displacement zu machen ist wenn man das displacement grade gebaut hat, bzw gerade baut.

Folge diesen schritten um ein Quadratisches Loch in ein displacement zu machen:

1. Baue einen neuen Brush mit dem Block Tool. Der Brush sollte so groß sein wie das displacement welches du erstellen möchtest:

FIXME Bild muss ersetzt werden.
Erstelle einen brush von der größe des displacement.

2. Benutze das Clip Tool in der Top 2D View um den Brush vertical zu zerschneiden. Jetzt wird die linke Seite von dem Loch geschnitten:

Annmerkung: Drück solange auf das Clip Tool Icon bis alle Seiten in weiß erscheinen

FIXME Bild muss ersetzt werden.
Benutze das Clip Tool um die linke Seite des Loches zu erstellen.

3. Benutze das Clip Tool um den Brush noch drei mal zu zerschneiden – zerschneide den Brush auf der rechten seite zuerst.

Markiere dann den mittleren Brush mit dem Selection Tool.

Klicke wieder das Clip Tool an und zerschneide den Brush zweimal Horizontal, um ein Quadrat in der Mitte zu erhalten. Das Resultat sollte ungefähr so aussehen:

FIXME Bild muss ersetzt werden.
Zerschneide den Brush für die andere seite des Loches.

4. Benutze das Selection Tool und markiere den Brush in der mitte der das Resultat des Clipping's ist. Drücke dann die Löschen (Entf) Taste um den Brush zu löschen, damit ein Loch in den Brush's entsteht:

FIXME Bild muss ersetzt werden.
Markiere den mittleren Brush und lösche ihn.

5. Markiere die beiden seitlichen Brush's mit dem Selection Tool:

FIXME Bild muss ersetzt werden.
Markiere die seitlichen Brush's.

6. Klicke das Vertex Edit tool an um in den Vertex Editing Mode zu gelangen:

FIXME Bild muss ersetzt werden.
Gehe in den Vertex Editing Mode.

7. Markiere in der Top 2D View den Eckpunkt und zieh ihn richtung eines Eckpunkts des Loches, wie dargestellt:

FIXME Bild muss ersetzt werden.
Bewege einen Eckpunkt in die Ecke des Loches.

8. Wiederhole das gleiche bei den anderen drei Ecken - beweg sie in richtung der anderen drei Eckpunkte des Loches wie dargestellt:

FIXME Bild muss ersetzt werden.
Veschiebe die anderen Eckpunkte wie zuvor.

9. Bleib im Vertex Edit Mode, und markiere einen von den übrigen Brush's. Drück STRG und markieren den anderen Brush. Deine Auswahl sollte so aussehen:

FIXME Bild muss ersetzt werden.
Markiere die anderen Brush's mithilfe STRG+links-klick.

10. Ziehe die anderen Vertexe's von diesen Brush's auf die äußeren Ecken von den anderen Brush's wie dargestellt:

FIXME Bild muss ersetzt werden.
Markiere die Vertex's und zieh sie auf die Ecken.

11. Wähle das Texture Application Tool aus und markiere alle oberen Face's von den Brush's in der 3D View, um mehrere auszuwählen einfach STRG drücken und links-klicken. Markiere nur die obere Seite von den Brush's, wie gezeigt:

FIXME Bild muss ersetzt werden.
Markiere alle oberen Seiten.

12.Klick jetzt auf das Displacement tab in der Face Edit box. Klick auf den Create Button um das displacement zu erstellen. Du solltest jetzt ein Displacement mit einem Loch in der Mitte haben:

FIXME Bild muss ersetzt werden.
Erstelle das displacements mit den Brush's die du gemacht hast.

Diese displacements können jetzt Verformt werden wie du möchtest. Weil die vier äußeren ecken nicht auseinander liegen können die displacements ganz einfach an das Terain drumherum angepasst werden.

Anwendungsbeispiel

FIXME Bild muss ersetzt werden.
Leider schlecht zu erkennen: Aber ich hab das Loch ein wenig tiefer gemacht und noch bisl Terain drumherum gebastelt. Man kann so nen loch für alles mögliche verwenden: Ein Brunnen, ein Tunnel-Ausgang… der Phantasie sind kaum Grenzen gesetzt. Nur denkt dran: Displacements sind weder VIS blocker noch kann man damit ein Leak Stopfen!

Die Verwendung aller Dokumente einschließlich der Abbildungen ausschließlich zu nichtkommerziellen Zwecken. Verbreitung des Dokuments auf Speichermedien, (insbesondere auf CD-ROMs als Beilage zu Zeitschriften und Magazinen oder sog. "Mission-Packs" etc.) ist untersagt.
 
half-life_2/tutorials/displacement_map.txt · Zuletzt geändert: 2011/05/25 09:20 von Adrian_Broher