PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Source] Displacements und Painting



SyntaXx
23.10.2010, 20:33:25
Hey,
heute will ich euch die Displacements anhand einer kleinen 'Wasserlandschaft' näher bringen, Mapping-Grundkenntnisse vorrausgesetzt.

Was sind Displacements?
Displacement bedeutet soviel wie "Verschiebung". Und genau das ist es im Grunde auch. Es besteht aus einzelnen Polygons und ermöglicht so eine freie Veränderung/Verschiebung der Fläche.
Displacements sind bestimmte Seiten eines Brushes, die man nach belieben auswählt. Zudem kann man sie speziell verformen um so jedes erdeckliche Terrain zu erstellen/gestalten.
So werden sie zum Beispiel für ein Flussbett oder für Berge, Hügel, Inseln, Höhlen etc. benutzt.

Und wie mache ich so ein Displacement?
Fangen wir mit einem ganz normalen Brush an, in diesem Tutorial habe ich die Maße 1536 x 1536 x 64 genommen, ihr könnt natürlich irgendein anderes Maß nehmen.
Dann belegen wir die Oberseite, die auch unser Displacement werden soll, mit einer dev-Textur (oder einer anderen), in meinem Falle ist es dev/dev_blendmeasure.

916

Nun öffnen wir das Face Edit Sheet und wählen die Seite aus, welche wir als Displacement haben wollen, hier also die Oberseite. Klickt dann auf den Reiter Displacement und drückt Create. Jetzt öffnet sich ein kleines Fenster in dem ihr den Detailgrad des zu erstellenden Displacements wählen könnt, von 1-4. Wir wählen 4 und drücken auf OK.

914

Jetzt seht ihr die zuvor gewählte Fläche, nur als Displacement.

910

So wie es jetzt ist, bringt es uns leider nichts, also verformen wir es noch.
Wählt dazu das Displacement aus und klickt wieder auf den Reiter Displacement im Face Edit Sheet. Klickt dort auf Paint Geometry. Jetzt öffnet sich wieder ein kleines Fenster. In diesem machen wir einen Punkt bei Raise/Lower und bei Spatial, den Rest lassen wir so. Unter Brush kann man auswählen in welchem Umkreis die Fläche verformt wird, lassen wir ihn auf Stufe 1.

912

Nun stellen wir die Distance auf 15 und den Radius auf 126 (ihr könnt natürlich auch andere Werte nehmen).
Mit der linken Maustaste erhöht ihr die Fläche, mit der rechten Maustaste senkt ihr sie.
Spielt nun ein bisschen rum und lasst eurem "Spieltrieb" freien Lauf :D.
Am Ende könnte das dann so aussehen:

909

Da das aber doch recht abgehackt und kantig aussieht, mach wir die Fläche noch Smooth, also glatt/weiche Kanten.
Dazu wählt ihr anstatt Raise/Lower einfach Smooth aus. Zudem stellen wir den Radius auf 220 (oder irgendwas anderes).

917

Geht nun mit gedrückter linker Maustaste über die ganze Fläche, bis es euch gefällt.
Das sähe dann bei mir so aus:

918

Die groben Kanten und die Spitzen sind nun zu einer 'smoothen' Fläche geworden.
Da wir eine Insel mappen wollen , texturieren wir sie mit einer beliebigen Blend-Textur (damit sie später realistischer aussieht), im Textur-Browser findet ihr sie indem ihr bei Filter: "blend" eingebt. Ich habe hier die Blend-Textur nature/blendpropdirtgrass genommen.

919

Jetzt erstellen wir das Wasser. Schaut und probiert ein bisschen rum wie ihr das Wasser haben wollt, ich habe es so gemacht (mit der dev/dev_water5 Textur):

913

Jetzt kümmern wir uns um das endgültige Painting. Da wir eine Blend-Textur verwendet haben, können wir das endgültige Aussehen der Insel verändern. Geht dafür über den Displacement-Reiter auf Paint Alpha. In dem kleinen Fenster wählen wir wieder Raise/Lower aus und lassen unter Brush Stufe 1 stehen. Nun könnt ihr eure Insel so 'anmalen' wie ihr wollt, mit der linken Maustaste texturiert ihr, mit der rechten löscht ihr es.
Nach dem texturieren könnte es dann so aussehen:

911



Jetzt bauen wir uns noch Wände und/oder eine Skybox drum herum, setzen einen Spawn Point in die Map und Compilen das ganze. Wer mag kann auch noch ein paar Palmen etc. reinsetzen.

Im Spiel sieht die Insel dann so aus:

920
(Sorry für die schlechte Bildqualität :()

Mehrere Displacements zusammen 'nähen'
Wenn man mit mehreren Displacements arbeitet stellt sich einem vielleicht folgendes Problem: Die Displacement passen nicht zusammen.
Für diesen Fall hat uns Valve eine Funktion gegeben: Die Sew-Funktion.
Dafür benötigt ihr mindestens zwei Displacements die an einer Kante zusammenliegen. Die beiden Eckpunkte müssen dafür gleich auf liegen. Wählt diese beiden aus und klickt dann im Displacement-Reiter auf Sew.
Jetzt sind die beiden Displacements zusammen 'genäht' und es klaffen keine Lücken mehr.

Weitere Erläutungen
Die Funktion Raise To bezweckt, dass man die Fläche auf ein bestimmtes Niveau/eine bestimmte Höhe bringen kann. Ist die Distance zum Beispiel auf 360 eingestellt (kann man manuell eintragen), so hebt sich die Fläche bei gedrückter linker Maustaste auf 360 Units Höhe.

Spatial heißt soviel wie "räumlich", ist bei der Option kein Hacken gesetzt und man verändert die Fläche, so verändert man nur den ausgewählten Punkt, nicht die sich im Radius befindliche Fläche.

Mit Hard- / Soft-Edge stellt man ein, ob die Kanten beim verändern, die beim heben bzw. senken der Fläche entstehen, hart sind, also eher so als hätte man die Fläche mit einem Meißel bearbeitet, oder ob sie soft sind, also weich, als wäre man ein bisschen mit der Feile dran gewesen (ich weiß, komische Assoziationen, aber man weiß was gemeint ist ;)).

Benutzt man Noise, verändert sich die Fläche so, als ob sie durch ein Geräusch verändert worden wäre, oder wie durch ein Erdbeben. Gut falls man die Fläche verändern will, es aber dem Zufall überlässt. Man wählt einen Bereich und klickt dann auf OK, also zum Beispiel:
Min. 20.0 | Max. 100.0 | OK

Mit Invert Alpha dreht man die Blendtextur um, was voher Sand war, wird zu Gras und was voher Gras war, wird zu Sand (bei einer Sand/Gras Blendtextur).

Sculpt lässt sich gut dazu verwenden, wenn man ein bisschen an seinem Displacement "meißeln" will. Also, Bildhauer vor ! :D

Was ist eine Blendtextur?
Das ist eine Textur die mehr als ein Aussehen hat, man benutzt sie um weiche Übergänge zu schaffen zum Beispiel von einem Gehweg zum Boden (siehe de_dust/de_dust2). Man erkennt sie im Spiel an halt solchen Stellen, wo weiche Übergänge vorhanden sind, im SDK kann man sie aber auch an deren Namen erkennen, sie fangen in der Regel mit 'blend' an oder haben es zumindest im Namen.

Weitere Informationen
Ein Displacement ist nicht VIS blockend, das heißt, man kann damit nichts abdichten, erstellt also unter eurer Map noch einen Brush, am besten mit der Nodraw-Textur ;). Ansonsten bekommt ihr einen Fehler in eurer Map und habt ein Leak.
Zudem dürfen sie nie mit einem Entity benutzt werden.


Ich hoffe ich konnte euch das Thema Displacements verständlich näher bringen und hoffe, ihr übt immer weiter sodass ihr damit keine Probleme mehr habt. Bei weiteren Fragen postet einfach hier in diesen Thread oder schreibt mir eine PN.
Über konstruktive Kritik bin ich natürlich auch immer erfreut :).
Anbei habe ich noch die Map aus dem Tutorial hochgeladen.

921

Greetz,
SyntaXx

Dmx6
23.10.2010, 21:20:37
Ein schönes Tutorial :daumen: Allerdings fehlen mir da ein paar Sachen, bzw. könnten den User ein paar Fragen aufkommen:

Bei mein rechteckigen Brush ist das Grid verzogen? Kann ich das fixen?
Konnte man nicht irgendwie 2 Displacements verbinden?
Raise/Lower, Raise To, Smooth, Spatial, Soft/Hard Edge... Was bedeuted das? Was macht das?
Was macht der Sculpt Button und was kann ich mit ihm Anstellen?
Was mach ich mit den Noise,Sew & Invert AlphaButtons?
Woran erkenne ich eine Blendtextur? Was unterscheidet Sie von anderen Texturen?
Displacment blockt kein VIS


Währe schön wenn du diese Sachen noch reineditieren kannst.

SyntaXx
23.10.2010, 23:08:52
OK, hab ich editiert ;). Hoffe ist verständlich XD.

Was meinst du eigentlich mit "Bei mein rechteckigen Brush ist das Grid verzogen? Kann ich das fixen?"
Rasie/Lower und Smooth hat sich doch eigentlich aus dem Zusammenhang erklärt, oder nicht?
Ich muss zugeben, beim Sculpt wusste ich nicht so ganz was ich schreiben sollte.
Wie beschreibt man am besten eine Blendtextur? Ich hoffe so wie ich es gelöst habe ist es verständlich.
Ich hatte aber schon geschrieben das Displacements nicht VIS blockend sind.

Hab trotzdem versucht so gut wie möglich zu verbessern ;).

Dmx6
23.10.2010, 23:28:12
Äh vergiss das mit den Grid ein kleiner Gedanklicher Error von mir. XD
Die Blendtexturen sind sehr schön erklärt.
Wenn du jetzt noch die Subdivide funktion erklären könntest (Und die Displacement Maskshttp://www.thewall.de/content/media/half-life/tutorials/die_hammer_werkzeuge/disp_mask.pnghttp://developer.valvesoftware.com/w/images/c/cd/Disp.PNG)währe das Tutorial Perfekt.

SyntaXx
23.10.2010, 23:36:14
Aber nicht mehr heute XD.
Vielleicht morgen, muss ich sehen wie ich Zeit hab.
Dein Tut is aber auch nicht schlecht ;D.

Jacky
24.10.2010, 05:02:42
Super Tut :daumen:

Aber Prefix fehlt^^

_Ghost_
24.10.2010, 09:43:04
Jop, klasse Einsteiger Tutorial... vielleicht machst du noch ein erweitertes Displacement-Tutorial... bei dem du die ganze "schweren" Sachen erklärst und vielleicht auch wie man am Besten eine Höhle oder so ein Hügelweg macht, der sich so von Seite zu Seite raufschlängelt :D...


MFG

SyntaXx
24.10.2010, 21:12:23
Genau an diesen Hügelweg hab ich auch gedacht, werde ich bestimmt noch machen^^.
Werd dieses TUT also noch weiter editieren, danach (nachdem ich das 3D Sky TUT gemacht habe, aber vielleicht will es auch ein anderer machen? ;D) dann ein Displacement-Tutorial für Fortgeschrittene, mit eben diesem Hügelweg, Höhlen, vielleicht auch Klippen/Schluchten, mal sehen.