S
t
a
r
t
Tagebuch
Tagebuch
egg-O-shOOter herunterladen
Herunterladen
Wie funktioniert egg-O-shOOter ?
Einblick
Häufig gestellte Fragen
Fragen?
egg-O-shOOter Futter
Futter
Links
Verweise
I
m
p
r
e
s
s
u
m
Click here for the english version.

In dieser Rubrik könnt ihr die Umgestaltung des egg-O-shOOters nach euren eigenen Vorstellungen erlernen.
<<<     Hasen, Eier und sonstige Objekte ändern     >>>
Bestanden die bislang verwendeten 'Texturen' - so werden die Bilder genannt, die man auf die Oberflächen von OpenGL-Objekten legen kann - aus einer einzigen Bilddatei, kommen wir nun zu den Versionen mit zwei Grafiken für eine Texture. Zwei Grafiken für ein effektives Objekt, Warum denn so kompliziert?
Weil ein Objekt in OpenGL eine definierte Umrandung braucht. Das einfachste Objekt das mit einer Texture versehen werden kann,ist somit ein Dreieck. Als nächste Stufe folgt das Viereck(Rechteck), Fünf- oder Sechseck. Wenn ihr egg-O-shOOter spielt, werdet ihr aber feststellen, dass all die Figuren in dem Spiel nahezu beliebige Umrisse haben. Rein mathematisch kann man all die Figuren als Flächen mit seeeehr vielen Ecken darstellen. Das würde jedoch einen ganz erheblichen Rechen- und Programmieraufwand bedeuten. Wie erstellt man also derart komplizierte Umrisse? Recht einfach - mit eben diesen zwei Bildern für eine Texture. Dabei stellt ein Bild die Grafik dar, die wir später als Oberfläche sehen und das zweite Bild definiert die Umrisse des Objektes.
Als Beispiel möchte ich die Erstellung eines neuen Hasen (Hundes) mit euch durchgehen. Besagte Hasen (die ersten eierwerfenden Tiere im egg-O-shOOter waren Osterhasen) bestehen im Programmcode aus Quadraten. Wir erstellen also mit Gimp eine neue Datei mit gleichen Werten für Breite und Höhe. Wählen wir also für Breite und Höhe den Wert 256 Pixel und erstellen mit den Malwerkzeugen einen neuen Hasen.
Projektfenster GIMP
Sobald wir mit unserem Ergebnis zufrieden sind, gehen wir daran die beiden benötigten Bilddateien zu erstellen. Zuerst füllen wir den Hintergrund, der bei der fertigen Texture weggeschnitten werden soll, mit der Farbe Schwarz. Dazu müssen wir dafür sorgen, dass wir wirklich das schwärzest mögliche Schwarz verwenden. Klickt dazu im Gimp-Hauptfenster doppelt auf das Feld mit der Vordergrundfarbe (roter Pfeil im Bild). In dem Fenster das danach zu sehen ist, stellen wir die Werte für die Farben Rot, Blau und Grün auf Null (drei rote Pfeile) und klicken auf 'OK'.
Projektfenster GIMP
Mit diesem Schwarz füllen wir nun die Hintergrundbereiche. Beim Füllwerkzeug sind folgende Einstellungen zu wählen:
Projektfenster GIMP
Modus 'Normal', Deckkraft auf 100%, Füllart 'Vordergrundfarbe', Beeinflusster Bereich 'Ähnliche Farben Füllen' und die Schwelle sollte bei 0.0 stehen.
Klickt nun auf einen Bereich im Hintergrund und als Ergebnis wird dieser Bereich mit Schwarz gefüllt.
Projektfenster GIMP
Somit ist Grafik Nummer eins fertig und kann unter dem Namen 'bunny01.bmp' im Verzeichnis 'MeineKueche' abgespeichert werden. Was fehlt, ist Grafik Nummer zwei. Klickt auf 'Bearbeiten->Rückgängig Füllen', worauf der Hintergrund wieder wie zuvor in weiß erscheint. Jetzt müßt ihr alle Bildbereiche, die NICHT ausgeschnitten werden sollen mit der Farbe Schwarz füllen. Dazu wählt ihr das Auswahlwerkzeug 'Zauberstab', indem ihr im Gimp Hauptfenster auf die mit dem roten Pfeil markierte Schaltfläche klickt.
Projektfenster GIMP
Setzt den Schwellwert ebenfalls auf 0.0 und klickt auf eine Stelle im Hintergrund, die weggeschnitten werden soll. Durch eine gestrichelte Linie wird der gewählte Umriss angezeigt. Klickt jetzt auf 'Auswahl->Invertieren', wodurch der aktiv markierte Bereich jetzt der Hase ist. Diesen Bereich gilt es nun mit der Farbe Schwarz komplett zu füllen. Klickt auf das Füllwerkzeug und markiert das Feld 'Ganze Auswahl füllen'. Wenn ihr jetzt auf irgendeinen Bereich in dem Bild klickt, wird der Hasenteil des Bildes mit Schwarz ausgemalt.
Projektfenster GIMP
Damit ist nun auch die zweite Grafik für unseren Hasen fertig. Speichert dieses Bild unter dem Namen 'bunny01_m.bmp' und fertig ist euer neuer Eierwerf-Hase.

Aber warum macht man das so kompliziert? Beim Bildformat 'gif' kann man doch mit einer einzigen Grafik transparente Bereiche definieren.
OpenGL arbeitet mit dem sogenannten 'Blending'. Dabei werden zwei Grafiken auf eine definierte Art und Weise Pixel für Pixel überblendet. Bei den Grafiken für die Hasen kommt im egg-O-shOOter eine Variante zum Einsatz, bei der die schwarzen Pixel der Grafik (='bunny01.bmp') mit den weißen Bereichen der Maske (='bunny01_m.bmp') zu einem vollkommen durchsichtigen Bildpunkt errechnet werden. Umgekehrt bleibt der Bildpunkt der Grafik über einem schwarzen Bildpunkt in der Maske unverändert. Ist der Farbwert der schwarzen Bereiche in der Maske nicht komplett schwarz (d.h. Rot=0, Grü=0, Blau=0), wird die Grakik hier ebenfalls leicht durchscheinend. Das ermöglicht es euch, leicht durchscheinende Objekte zu generieren. Ein Beispiel hierfür sind die Quallen in dem Thema 'Unter Wasser'. Hier besteht der normal schwarze Bereich aus einem Farbwert, der 'fast weiß' (Rot=254, Grün=255, Blau=255) ist. Zur Verdeutlichung ist die Maske (='jumpingbunny09_m.bmp') mit dem 'Zauberstab'-Werkzeug von Gimp in den Umrissen zu erkennen. In der Grafikdatei der Qualle (='jumpingbunny09.bmp') sind nun noch dunkle Bereiche eingearbeitet. Hier gilt: Je dunkler, je transparenter.
Projektfenster GIMP
Wie ihr seht, könnt ihr mit diesen Parametern mehr erreichen als bloßes Ausschneiden von Umrissen - probiert's aus.
Noch eine Bemerkung zur Treffererkennung von egg-O-shOOter: Standardmäßig gelten nur alle Bereiche der Maskendatei mit dem Farbwert Weiß (Rot=255, Grün=255, Blau=255) als KEIN Trefferbereich. Ihr könnt aber auch weiteren Farbwerten unterschiedliche Treffercharakteristika zuordnen. Die entsprechenden Variablen in der Datei 'thems.txt' lauten HitColorR, HitColorG, HitColorB.
<<<Zurück zum Rahmen          Weiter zu Schriftarten>>>