Was sind eigentlich Bumpmaps?
Bumpmaps sind Bilder, die über die 3d-Objekte und deren Texturen drübergelegt werden und sie noch mehr nach 3d aussehen lassen. So kann man zum Beispiel mit einer Bumpmap einer rostigen Textur noch eine rostig aussehende Oberflächenstruktur verpassen.
pic1 mit / ohne
pic2 mit / ohne
Bumpmap.
Bumpmaps selber erstellen und in X² einbinden
Das folgende ist dieses Tutorial ein bisschen ausführlicher und auf X² zugeschnitten.
Natürlich kann man in diesem Spiel auch eigene Bumpmaps einbinden, wie auf pic3 zu sehen. Dafür braucht man:
- Das Spiel X²
- Das ModdingKIT von EGOSOFT, um die Archive zu entpacken.
- Die nVidia-Tools zum Bumpmap-Erstellen
- Ein vernünftiges Bildbearbeitungsprogramm, zum Beispiel The GIMP (Freeware)
- Ein Programm, das dds-Dateien lesen und konvertieren kann, zum Beispiel IrfanView (Freeware)
- Geduld, sich das hier in Ruhe durchzulesen und gute Laune
Als erstes braucht man eine schwarz-weiß-Höhenmap erstellen, wobei schwarz für dichter dran und weiß für weiter weg steht.
Schnappen wir uns also unser Grafikprogramm - ich benutze GIMP.
Eine wichtige Regel beim Bumpmapmachen ist, dass eine Bumpmap immer 2^x mal 2^x pixel groß sein muss.
Also 2x2, 4x4, 8x8, 16x16, 32x32, ...
Unsere erste Bumpmap sollte nicht schön aussehen, sondern einfach nur das Bumpmaperstellen an einem simplen Beispiel zeigen.
Zu diesem Zweck habe ich einfach ein weißes Bild mit den Maßen 256x256 genommen. Mit
Filter -> Rauschen -> HSV Streuen - den "Wert" auf 255 stellen (siehe pic4)
machen wir ein paar schwarze Punkte auf unser weißes Bild. (siehe pic5).
Dieses Bild speichern wir nun als "Bumpmap1.bmp" in dem Verzeichnis
*\DXT_TOOLS\Command Line\
wobei * für das Verzeichnis, in das die nVidia-Zip-Datei entpackt wurde, steht, bei mir also
C:\Spiele\EGOSOFT\Modding\DXT_TOOLS\Command Line\Bumpmap1.bmp
(siehe pic6).
Jetzt müssen wir diese Datei mit der nvdxt.exe zu einer x2-bumpmap machen. Das geht über die Kommandokonsole mit
nvdxt Bumpmap1.bmp -n3x3 -rgb -wrap -u8888
und wehe jetzt kommt einer an und fragt was das alles heißt, ich weiß es nämlich auch nicht ganz genau
nvdxt: Name der exe-Datei
Bumpmap1.bmp: Name der Bilddatei
-n3x3: normal map 3x3 filter (?)
-wrap: wrap texture around (?)
-u8888: Texture Format option: uncompressed 8:8:8:8
Vielleicht kennt sich ja jemand besser aus als ich und kann das noch erklären, auf jeden Fall funktioniert es prima. Man kann übrigens die vielen möglichen Parameter in der "UsersGuide.htm" nachlesen.
Damit wir nicht dauernd in die Kommandokonsole müssen, machen wir uns eine kleine Batchdatei, die das Programm aufruft.
Wir erstellen eine neue Datei im \Command Line\-Verzeichnis (Rechtsklick -> Neu -> Textdokument), nennen sie "MakeBumpmap.bat" (die Warnung vom Windows wegen der veränderten Dateiendung ignorieren) und füllen sie in einem Editor mit dem Inhalt
nvdxt Bumpmap1.bmp -n3x3 -rgb -wrap -u8888
und speichern ab (siehe pic7).
Nun doppelklicken wir auf die "MakeBumpmap.bat" und...
Tadaa! Sie erstellt uns eine dds-Datei, die wir mit IrfanView (siehe oben) lesen können (siehe pic8).
Nun haben wir also unsere Bumpmap, wir müssen sie nur noch ins Spiel implementieren. Dazu entpacken wir die cats und dats. Wie das geht, steht hier. Im Ordner
\tex\true\
sind einige Bumpmaps zu finden, unter anderem die 535.jpg, die des Frontstücks der Argon Titan und der Argon Colossus.
In einem anderen Verzeichnis legen wir nun die Datei
VERZEICHNISNAME\tex\true\535.jpg
an (die Bumpmap1.dds wird mit IrfanView in eine jpg konvertiert).
Dann packen wir ein cat/dat-Archiv, wie Als erstes müssen wir die cats und dats entpacken. Wie das geht, steht hier, man muss nur andere Namen benutzen. Ich habe den Mod "BumpmapMOD1" genannt.
Einige Screenshots, die ich während der Vorbereitung zum Packen und beim Packen gemacht habe:
pic9, pic10, pic11, pic12.
Im Spiel sieht das Ganze dann so aus: pic13
Um die Bumpmap "extremer" wirken zu lassen, kann man beim Bumpmapmachen auch noch den Parameter -scale benutzen:
nvdxt Bumpmap1.bmp -n3x3 -rgb -wrap -u8888 -scale 3
In diesem Beispiel werden dann die Vertiefungen und Erhöhungen drei Mal so kräftig berechnet (siehe pic14).
Edit: Hier noch die Dateien, die während des Tutorials entstanden sind:
- Bumpmap1.bmp
- 535.jpg
- BumpmapMOD1.zip (BumpmapMOD1.cat & BumpmapMOD1.dat)