In dem folgenden Beitrag möchten wir ihnen erklären, wie Sie Normal und Specular Maps mithilfe von Crazybump erstellen können.

CrazyBump Normal Specular Maps

Ein paar Anmerkungen zu Maps, bevor wir beginnen:

Die Source unterstützt Parallax Mapping nicht nativ ( sie ist vorhanden, aber deaktiviert, es sei denn, Sie haben einen Coder, der sie wieder aktivieren kann), so dass die Option Displacement Map sicher ignoriert werden kann.

Specular Maps von Crazybump werden von der Engine als $envmapmasks verwendet. Normal Maps hingegen werden in einer separaten Textur gespeichert. Auf diese wird in der Material VMT-Datei verwiesen (die Sie ohnehin für jede Textur benötigen werden). Source unterstützt nicht Ambient Occlusion, aber Sie können es trotzdem in die Textur einbrennen, indem Sie es in eine oberste Ebene kopieren und auf „Multiplizieren“ einstellen.

Maperstellung / Workflow.

Wir verwenden Photoshop und CBump, wenn wir Texturen für die Source Engine erstellen. Die übliche Pipeline sieht wir folgt aus:

  • Erstellen Sie die diffuse Textur in Photoshop. Dies könnte so einfach sein wie ein nachgebessertes Foto oder etwas, das vollständig in Photoshop erstellt wurde.
  • Das Bild verflachen, alles auswählen, kopieren und dann in Crazybump einfügen.
  • Gehen Sie zurück in Photoshop und machen Sie den Befehl flatten rückgängig, um alle ihre Ebenen wiederherzustellen.
  • Fummeln Sie die Slider in CrazyBump nach Bedarf herum. Beginnen Sie dann mit dem Kopieren von Maps, indem Sie mit der rechten Maustaste klicken und „Copy
    to Clipboard“ wählen.
  • Zurück zu Photoshop. Die Ambient Occlusion Map geht normalerweise in einer obersten Ebene, die auf Multiply gesetzt ist, mit der Opazität, an der wir so lange gearbeitet haben, bis wir damit zufrieden waren.

Hier laufen die Dinge auseinander, je nachdem, was wir tun.

  • Wenn Sie nur eine Normalmap wünschen, dann wird diese als separate VTF-Datei gespeichert. Die üblichen Namenskonventionen sind yourtexturename_bump, aber es spielt keine Rolle, wie Sie es nennen. Sie müssen es in der .vmt-Datei referenzieren, damit Source weiß, dass es vorhanden ist.
  • Wenn Sie eine Specular Map möchten, dann können Sie im Alpha-Kanal eine Textur speichern (vorausgesetzt, sie wird nicht bereits zur Transparenz verwendet). Aufgrund eines Fehlers müssen Sie dies umkehren, damit es korrekt gelesen werden kann. Speichern Sie die diffuse Textur als normale komprimierte Textur mit Alpha und verwenden Sie $basealphaenvmapmask 1 im vmt, um anzugeben, wo sie sich befindet.
  • Wenn Sie sowohl eine Normal Map als auch eine Specular Map haben möchten, müssen Sie die Specular Map im Alpha-Kanal der Normal Map speichern. Die Source wird es sonst nicht lesen. Speichern Sie das als yourtexture_bumpspec (Namenskonventionen spielen keine Rolle, wir finden es nur hilfreich, im Namen der Textur zu erwähnen, ob die Normal Map auch eine Specular Map erhält) mit der Normal Map mit Alpha-Voreinstellung. Verwenden Sie im $normalmapalphaenvmapmask 1, um anzugeben, dass Sie den Alpha-Kanal der Normal Map als envmapmask verwenden.

Da Specular Maps Graustufen sind, ist es am besten, sie als Alphamaske und nicht als separate, eigenständige Textur zu speichern. Wenn es als eigenständiges Programm gespeichert wird, wird es im RGB-Format mit drei Kanälen gespeichert, während es als Alpha-Kanal für eine andere Textur nur einen aufnimmt, was die Dateigröße reduziert.

Hinweis: Aufgrund von Fehlern mit dem Photoshop VTF-Plugin, beachten Sie diese beiden Dinge: Sobald Sie die Normalmap oder Normal mit Alpha-Voreinstellung verwendet haben, wird der Exporter auf diese Voreinstellung „geklebt“ und speichert immer in diesem Format (insbesondere mit den Flaggen „Normalmap“ und „Trilinear“), unabhängig davon wie Sie sie eingestellt haben, bis Sie Photoshop neu staten. Es ist ein Handicap und kann wirklich Schaden anrichten, wenn es etwas anderes als eine Normal Map ist. Glücklicherweise können Sie diese beiden Flags in VTFEdit deaktivieren. Das Plugin speichert keine Alphakanäle, wenn Sie das Bild nicht vorher geglättet haben.

Eine gute Möglichkeit, um zu checken, ob ihre Source über die Specular Textur Bescheid weiß, ist Hammer. Wenn Sie die 3D-Ansicht auf „Texturiert“ einstellen, werden Sie sehen, dass die Textur sichtbar „glänzend“ ist. Es wird die $envmapmask nicht geladen, so dass Sie einige Debugging-Methoden im Spiel verwenden müssten, um diese zu überprüfen.