Eine Displacement Map ist eine Oberfläche, die man mit einfachen mittel deformieren kann um so zum Beispiel realistisches Terrain zu erstellen. Beispiele dafür sind fast die gesammten Außenlevel von HL², wie die großen Strandpassagen.
MAP ERSTELLEN • Obwohl wir ein komplett neues Mesh erstellen möchten, basiert eine Displacement Map auf einem Block bzw. auf einem Face des Blockes. Deswegen starte ich hier mit einem ganz einfachen Grasblock und markieren dann mit dem bereits aus älteren Hammer Versionen bekannten Texture Application Tool die Oberseite des Blockes. Dies ist wichtig, denn wenn wir alle Seiten eines Blockes gleichzeitig deformieren, endet dies in einem Brushwork, das der Compiler nicht so gut verdauen kann.
Im Texture Application Tool Dialog fällt sofort der neue Reiter mit der Bezeichnung Displacement auf. Auf diesem finden wir die entsprechenden Werkzeuge für die Deformation des markierten Faces. Mit Create erstellen wir die Displacement Map. Den erscheinenden Dialog können wir einfach bestätigen. Je höher der Wert, um so detaillierter wird die Displacement Map. Für weite, flache Flächen kann bzw. sollte man auch ruhig 2 als Wert verwenden um Polygone zu sparen. Die nicht markierten Faces verschwinden nun ganz und auch die Unterseite des übriggebliebenen Faces ist unsichtbar. Dies können wir mit Destroy aber jeder Zeit wieder umkehren.
TERRAIN MODELIEREN • Mit Paint Geometry können wir jetzt unsere Displacement Map deformieren. Mit Spatial können wir mehrere Punkte gleichzeitig bearbeiten. Dafür sollte aber auch der Radius erhöht werden. Wenn unser Terrain die gewünschte Form hat, können wir es mit Smooth noch glätten, damit man im Spiel nicht am Terrain hängen bleibt. Außerdem bezweckt das Smoothing ein natürlicheres Aussehen des Terrains.
VISING • Displacement Maps werden beim Vising nicht als Blockende Objekte anerkannt. Das bedeutet, dass wenn wir unseren frisch erstellten Boden nun mit Wänden und Decke versähen, wir beim Kompilieren ein Leak erhalten würden. Deswegen ist es zwingend notwendig, dass wir unter unsere Displacement Map einen weiteren als VIS Blocker fungierenden Block einfügen. Dieser muss, wie in diesem Beispiel, nicht sichtbar sein. Ein Block mit der toolsnodraw Textur reicht deswegen oft.
ALPHA BLENDING • Hinter Paint Alpha verbirgt sich ein Dialog, mit dem wir eine zweite Textur einblenden können. Diese zweite Textur wird allerdings vom Material selber vorgegeben und ist nicht frei wählbar. Deswegen geht diese Technik auch nicht mit allen Materialien, sondern nur mit denjenigen, die eine solche zweite Textur beinhalten. Diese Texturen haben alle den Suffix _blend im Namen. Mit dem Paint Alpha Werkzeug können wir ausschließlich einstellen wie stark die zweite Textur durch die erste durchscheinen soll. Dabei steht der Wert 0 für gar kein und der Wert 255 für das komplette Überblenden der ersten Textur. Mit Invert Alpha kann man sinngemäß die Werte für das Alpha Blending umkehren.
FAZIT • Displacement Mapping lässt sich für vieles Nutzen. Mögliche Einstazgebiete sind z.B. noch Felsen, wie sie in de_dust oder mehreren HL² Leveln zu sehen sind, auch komplette Höhlensystem kann man mit Displacement Maps verwirklichen. Allerdings sollte man beachten, das ein solches Terrain wesentlich mehr Ressourcen benötigt, als ein einfacher flacher Brush, und ob dies immer den Effekt wert ist. Denn jedes der weißen Kästchen, die beim Deformieren sichtbar werden entsprechen einem neuen Face.