Nicht eingeloggt
Registrieren

Material Editor f√ľr Einsteiger

Einleitung

In diesem Tutorial wollen wir Schritt f√ľr Schritt eigene Materials erstellen.

Materials sind die Weiterentwicklung der einfachen Textur, also des Bildes, das auf eine Wand oder andere Flächen wie eine Tapete gelegt werden kann.
Gute Materials beinhalten allerdings weit mehr Daten als einfache Texturen.
Um sich eigene Materials zu basteln, ist daher mehr n√∂tig, als wie fr√ľher ein Bild zu importieren und einzusetzen.
Hier sehen wir uns ein paar Methoden an, von der Erstellung eines Materials bis hin zu einer etwas komplexeren Ausarbeitung.

Eine Textur importieren
Trotz der tollen neuen Materials gibt es immer noch die gute, alte Textur. Die kann man zwar nicht mehr auf Oberfl√§chen klatschen, daf√ľr dienen sie als "Bildcontainer".
F√ľr gew√∂hnlich bestehen Materials zu einem gewissen Teil aus Texturen, die verarbeitet werden.

Wer noch nicht mit Texturen gearbeitet hat: Es gilt eine wichtige Regel: H√∂he und Breite einer Textur m√ľssen Zweierpotenzen sein, also 2, 4, 8, 16, 32, 64, 128, 256, 512 usw.
Das Standardformat f√ľr Texturen ist √ľbrigens .tga (targa).

Besorgen wir uns jetzt eine Textur, ich nehme diese hier, und das könnt ihr auch tun:

Download wall.tga

Jede Map hat ihr eigenes, integriertes Package. Fr√ľher hie√ü es "myLevel", heute tr√§gt es schlicht den Namen der Map.
Damit ihr, wenn ihr ein neues Material erstellt, es nicht in einem Extrapackage mitliefern m√ľsst (was auch sehr nervig f√ľr alle w√§re, die eure Map spielen wollen), solltet ihr importierte Texturen und Materials (und eigentlich alles andere meistens auch) in dieses mapeigene Package integrieren.
Damit es dieses Package ‚Äěoffiziell‚Äú gibt, muss die Map ein Mal gespeichert worden sein.

Legen wir also los…:

Speichert die Map.

√Ėffnet den Generic Browser.
Setzt Häckchen bei den Filtern bei "Texture" und bei "Material" (und nehmt dann am besten alle anderen Häckchen weg).
Klickt oben auf
File=>Import…

Sucht euch dann eure Bilddatei heraus (der UEd4 kann √ľbrigens das .psd-Format auslesen )

Dann erscheint dieses Fenster:
import_window.jpg

Wählt oben das Package aus, also den Namen eurer Map.
Die Gruppe muss nicht angegeben werden, ihr k√∂nnt aber des √úberblicks halber eine aussagekr√§ftige Kategorie eingeben, wie ‚ÄěMauer‚Äú oder ‚ÄěTexturen‚Äú.
Den Namen der Textur könnt ihr frei wälhen.

Bei der Gruppe und dem Namen gilt: keine Leerzeichen, und meidet Sonderzeichen. Tiefstrich ist ok.

Klickt auf OK.
Da haben wir die Textur.

Das erste Material
Klickt nun mit rechts auf eure Textur und w√§hlt ‚ÄěCreate new Material‚Äú.
Die drei Eingaben, die ihr jetzt machen m√ľsst, √§hneln denen vom Texturimport.
W√§hlt nat√ľrlich einen anderen Namen als der der Textur.

Klickt auf OK.

Das Material ist nun erstellt, aber wie ihr sehen könnt, ist es noch schwarz.

Jetzt betreten wir das erste Mal den Material-Editor.

Doppelklickt auf das Material und wartet ein bisschen.

Dieses Fenster ist der Material-Editor:
matwindow.jpg

Die Unterteilung ist recht einfach zu erkennen.
Der "Block" (kp, wie das Teil wirklich heisst, ich nenne ihn hier mal so) ist das Kernst√ľck des Materials.
An ihn werden, √§hnlich wie im Kismet-Editor, Objekte angeschlossen, indem man von einer schwarzen Box (Connector) zu einer anderen mit gedr√ľckter linker Maustaste einen Pfeil zieht.
An welchen Connector des "Blocks" ihr ein Objekt anschließt, bestimmt, wie das Objekt sich auf das Endergebnis auswirkt.

Die Objektbibliothek rechts beinhaltet alle Objekte, die ihr benutzen könnt. Zieht sie einfach auf die Arbeitsfläche.

Markiert nun den auf dem Block liegenden "TextureSample", den Repräsentant eurer Textur, per Klick.
Schiebt ihn dann mit gedr√ľckter strg-Taste nach rechts, wie auf dem Bild oben.

Der erste Connector des Blocks heisst "Diffuse".
Bei einem normal eingestellten Material wird eine daran angeschlossene Textur schlicht angepinselt.
Probiert es gleich mal aus: Verbindet den schwarzen Connector der TextureSamples mir dem Diffuse-Connector.

Das Ergebnis erscheint links sofort. Ihr k√∂nnt das Objekt, das in der Vorschau angezeigt wird und euer Material "tr√§gt", bei gedr√ľckter linker Maustaste drehen.

Die farbigen Connectors des TextureSamples sind die Ausg√§nge f√ľr die einzelnen Farbkan√§le der Textur.
Verbindet einmal testweise den roten Connector mit Diffuse, das Ergebnis ist ein Schwarzweißbild, dessen Helligkeit dem jeweiligen Rot-Wert der Textur entspricht.
Das wird später wichtig.

Wenn ihr den Material-Editor jetzt schließt und ein Mal speichern bestätigt, könnt ihr dieses Material sofort wie gewohnt anwenden.

Jetzt wollen wir aber mal ein bisschen mehr aus der UnrealEngine rausholen.

Leuchten
Der zweite Connector des Blocks heißt "Emissive".
Er steht grob gesagt f√ľr das Leuchten der Textur.
Alles, was an Emissive angestöpselt wird, ist auch dann sichtbar, wenn die Oberfläche mit dem Material drauf nicht beleuchtet wird.
Au√üerdem sorgt Emissive bei Postprocessing (Tiefenunsch√§rfe usw.) ggf. f√ľr ein Leuchten wie dieses:
leuchten.jpg

Emissive sorgt nicht f√ľr die Beleuchtung anderer Oberfl√§chen, das k√∂nnen nur Lichter (PointLight, SkyLight, ‚Ķ).

Ein Beispiel f√ľr eine Sinnvolle Nutzung des Emissive Connectors:
lampe.jpg
An Diffuse klemmt alles, was normal gesehen wird, an Emissive nur das Leuchten der Lampe in der Mitte.

Um eine weitere Textur einzuf√ľgen, importiert sie, markiert sie im Generic Browser und zieht im Material Editor ein TextureSample aus der Bibliothek auf die Arbeitsfl√§che.

Wie in UnrealKismet lassen sich Verbindungen durch Klicks mit gedr√ľckter alt-Taste auf den betroffenen Connector l√∂schen.

Glanz
Der dritte Connector des Blocks hei√üt "Specular" und ist f√ľr den Glanz eines Materials zust√§ndig.
Je heller eine Stelle bei der hier angeschlossenen Textur ist, desto mehr glänzt das Material an der gleichen Stelle bei entsprechendem Lichteinfall, Die Farbe des Glanzes wird dabei durch die Farbe der Stelle der angeschlossenen Textur bestimmt.
An dieser Stelle solltet ihr ein weiteres Objekt im Material-Editor kennen lernen: "Constant".
Constant ist nur eine simple Zahl, die oft Werte zwischen 0 und 1 annimmt. F√ľgt von rechts aus der Objektbibliothek ein Constant-Objekt ein, indem ihr es auf die Arbeitsfl√§che zieht.
Markiert es, stellt unten in seinen Eigenschaften "R" (den Wert) auf 1 und verbindet das Objekt mit dem Specular-Connector des Blocks.
Wenn ihr euch das Objekt in der Vorschau nun von verschiedenen Seiten anseht, werdet ihr die Wirkung sehen können.
Ein Constant-Objekt mit dem Wert 1 ist wie eine komplett weiße Textur (mit 0 wie schwarz und dazwischen grau, versteht sich).
Wenn ihr √ľbrigens ein Mal den Roten Connector der Mauertextur mit Specular verbindet, werdet ihr sehen, dass nur die Stelle mit den (nun mal roten) Steinen gl√§nzt.
Ihr ahnt jetzt sicherlich schon ein paar Möglichkeiten, was man mit dem Material Editor alles anstellen kann.
Das Beste kommt aber erst noch.

Bildmathematik
In der Objektbibliothek finden sich weit mehr Objekte als nur Texturen. Es befinden sich u.a. auch jede Menge mathematische Operatoren (Add, Substract, Multiply, LinearInterpolate, …) und Vektoren.
Tatsächlich kann man mit Mathematik sehr effizient Bilder bearbeiten.

Eine der wichtigsten Operatoren ist "Multiply".
Zwei Werte kommen rechts rein, das Produkt links wieder raus.
Man kann dabei Werte (Constant), Texturen und jede Menge anderen Kram miteinander multiplizieren.
Beispiel:
malzwei.jpg

Eine Textur wird mit der Konstante 2 multipliziert. Jeder Pixel der Textur im Ergebnis ist danach mit 2 multipliziert, also doppelt so hell.

Ihr solltet √ľbrigens noch ein Objekt kennen lernen: Constant3Vector.
Constant3Vector ist ein dreidimensionaler Vektor, der demnach drei Werte hat: R, B und G.
Diese hei√üen so (und nicht x1, x2 und x3), weil sie nicht nur f√ľr Richtungen, sondern auch f√ľr Farben gedacht sind. Ihr k√∂nnt, wenn ihr die Werte richtig einstellt, jede Farbe damit erzeugen.

Und die k√∂nnt ihr dann z.B. mit einer Mauertextur multiplizieren, um eine gr√ľne Mauer zu erhalten :
gruen.jpg
Juchee!

Jetzt seid ihr mit dem n√∂tigsten Wissen gewappnet, im Tutorial f√ľr Fortgeschrittene kommen die richtigen Techniken!

Tolle Beleuchtungseffekte, Bump- und Parallax-Mapping sind etwas schwieriger zu beherrschen und werden deshalb später erklärt.