Eigene Cubemaps erstellen: Unterschied zwischen den Versionen
HW1 (Diskussion | Beiträge) |
HW1 (Diskussion | Beiträge) |
||
Zeile 105: | Zeile 105: | ||
Nun wählt man unter <code>Datei</code> → <code>Exportieren als ...</code>. | Nun wählt man unter <code>Datei</code> → <code>Exportieren als ...</code>. | ||
− | Man navigiert zum Zielordner <code>Resourcen\Parallels\ | + | Man navigiert zum Zielordner <code>Resourcen\Parallels\CUBEMAPS</code> und wählt einen Dateinamen mit der Endung <code>.dds</code>. |
Gimp erkennt an der Dateiendung, dass eine DDS-Datei erzeugt werden soll, und öffnet folgenden Dialog:<br> | Gimp erkennt an der Dateiendung, dass eine DDS-Datei erzeugt werden soll, und öffnet folgenden Dialog:<br> | ||
[[Datei:Cubemap Gimp Export.gif]] | [[Datei:Cubemap Gimp Export.gif]] |
Version vom 12. Juli 2017, 09:23 Uhr
Inhaltsverzeichnis
Was ist eine Cubemap und wozu dient sie?
Eine Cubemap stellt die Umgebung dar, die auf spiegelnden Oberflächen reflektiert wird. Im Konzept-Artikel zu Reflexionen werden einige Hintergrundinformationen dazu geliefert.
Die Cube-Map kann man sich als die Textur eines großen Würfels vorstellen, der die ganze (3D-) Welt umspannt und der von innen "tapeziert" ist.
Für den Home-Nostruktor muss die Cubemap als DDS-Datei im Ordner Resourcen\Parallels\Cubmaps
vorliegen.
Dabei wird die DDS-Datei auf spezielle Weise erstellt, um die 6 Ansichten in eine Datei zu packen.
Benötigte Bilder
Man benötigt also 6 Ansichten, die nahtlos aneinander passen, und die den 6 Seiten eines Würfels entsprechen. Um einen Würfel zu bilden, müssen diese 6 Ansichten jeweils quadratisch sein. Die Kantenlänge muss ein Vielfaches von 32 Pixeln sein.
Cubemaps neigen dazu, sehr groß zu werden, ohne dass ein Detailreichtum wirklich benötigt wird. Es ist daher sinnvoll, für die Kantenlänge jeder Ansicht 512 Pixel (entspricht der Default-Cubemap) oder 1024 Pixel (bereits recht großzügig) vorzusehen.
Der erste Schritt zum Erstellen einer eigenen Cubemap ist also das Beschaffen von 6 quadratischen Bildern, die nahtlos aneinander passen und zusammen eine vollständige Rundumsicht darstellen. Derartige Bilder kann man sich selbst aus hinreichend vielen Fotos zusammenbauen. Man findet aber auch im Internet gute Quellen für solche Cubemaps, z.B. unter http://www.humus.name/index.php?page=Textures.
Für den Rest dieses Artikels gehen wir davon aus, dass 6 gleich große, quadratische Bilder vorliegen.
Cubemap mit Gimp erstellen
Generell kann man Cubemaps mit verschiedenen Programmen erstellen. Mir ist jedoch nur der Weg über Gimp bekannt.
Daneben soll es zumindest für Adobe Photoshop ein geeignetes Plugin geben.
Benötigte Software
Zunächst benötigt man Gimp (= Gnu Image Manipulation Program). Dieses kann man sich beispielsweise unter https://www.gimp.org/downloads/ herunterladen. Im Windows-Installer sind die Versionen für 32 bit und für 64 bit erhalten. Es wird die zum Rechner passende Version installiert.
Außerdem benötigt man noch das DDS-Plugin für Gimp, das man unter https://code.google.com/archive/p/gimp-dds/downloads herunterladen kann. Allerdings sind hier die 32bit- und die 64bit-Version getrennt. Zusätzlich muss die Hauptversion von Gimp mit der Hauptversion des Plugins übereinstimmen, beispielsweise Gimp-2.x.x und Gimp-dds-2.y.y. Bei der Installation ist die dort dokumentierte Vorgehensweise zu beachten.
Gimp-Projekt anlegen
Nun startet man Gimp und öffnet eine der 6 Würfelansichten für die Cubemap.
Anschließend öffnet man die übrigen Ansichten als neue Ebenen im bereits geöffneten Bild.
Bevor man ans Exportieren denken kann, muss man noch dafür sorgen, dass Gimp die Ansichten an die richtigen Stellen setzt. Dazu müssen die Ebenen passend benannt werden. Die Kennzeichnung muss im Namen der Ebene enthalten sein, der Name selbst kann aber länger sein. Die Reihenfolge der Ebenen ist nicht relevant. Folgende Varianten stehen zur Auswahl:
Kennzeichnung | Alternative 1 | Alternative 2 | Alternative 3 |
---|---|---|---|
right | +x | positive x | pos x |
left | -x | negative x | neg x |
top | +y | positive y | pos y |
bottom | -y | negative y | neg y |
back | +z | positive z | pos z |
front | -z | negative z | neg z |
Für die Zuordnung hilft auch diese Darstellung:
Im Ebenen-Fenster von Gimp sehen die Ebenen-Namen beispielsweise so aus (hier benannt nach Alternative 2):
Cubemap exportieren
Bevor die Cubemap nun exportiert wird, prüft man noch einmal alle Vorgaben:
- Sind alle Ebenen gleich groß?
- Sind alle Ebenen quadratisch?
- Verwenden alle Ebenen dieselbe Farbtiefe und sind sie einheitlich mit oder ohne Alpha-Kanal?
- Sind die Ebenen passend benannt?
Nun wählt man unter Datei
→ Exportieren als ...
.
Man navigiert zum Zielordner Resourcen\Parallels\CUBEMAPS
und wählt einen Dateinamen mit der Endung .dds
.
Gimp erkennt an der Dateiendung, dass eine DDS-Datei erzeugt werden soll, und öffnet folgenden Dialog:
Wichtig sind hier folgende Einstellungen:
- Für
Save:
mussAs cube map
ausgewählt werden.
Falls diese Einstellung nicht verfügbar (ausgegraut) ist, ist mindestens eine der Voraussetzungen nicht erfüllt. - Für
Compression:
ist eine Kompression zu verwenden, die EEP versteht, z.B.None
oderBC3 / DXT5
. - Bei
Mipmaps:
mussNo mipmaps
stehen.
Nach Anklicken der Schaltfläche OK
wird die Cubemap im angegebenen Ordner unter dem angegebenen Namen erstellt.
Cubemap im Home-Nostruktor verwenden
Ein Modell im Home-Nostruktor (also ein Projekt) kann immer nur eine Cubemap haben. Die Cubemap wird in den Projekteigenschaften festgelegt.
Im Abschnitt "Cube-Map:" klickt man auf die Schaltfläche "..." und wählt die eigene Cubemap aus:
Damit ist die Cubemap im Projekt registriert.
Wo die Cubemap für Reflexionen verwendet wird, entscheidet man durch die Einstellungen der Instanzen. Im Abschnitt "Einstellungen der KON-Datei" wählt man unter "Reflektion:" einen der verfügbaren Reflexionsgrade.
Auf einer stark spiegelnden Kugel kann das Ergebnis beispielsweise so aussehen: