Weitere 3d-Anfänger Tutorials gibt's hier:
Vorwort: 1. Dieses Tutorial basiert teilweise auf meinem Tutorial "3d für Anfänger", einige Kenntnisse sollten also vorhanden sein.
2. Bei meinem alten Tutorial habe ich nach kurzer Zeit auf Grund von blöden Fragen, die besser in "Technische Fragen" gepasst hätten, die Notbremse gezogen und habe den Thread closen lassen. Ich hoffe das läuft diesmal besser.
Wer kennt ihn nicht, den Cel Shading Look der in vielen Spielen wie zum Beispiel in XIII oder Warsow verwendet wird? Oftmals werden zur Aufwertung des Effekts schwarze Konturen um die Objekte gezeichnet, um sie noch "comichafter" darzustellen. Diesen Effekt kann man mit ein wenig Wissen auch mit dem Gamemaker erzielen, was ich euch in diesem Tutorial kurz erklären werde.
Dafür müssen wir erstmal einige Sachen klären.
Wichtige Begriffe und Wissenswertes:
(1)
(2)
Vertices: (Ich bin mir nicht sicher ob die Teile überall so heißen.) Vertices werden die Eckpunkte unseres Blockes genannt. Ein Block hat 8 Vertices (1). In Figuren wie zum Beispiel einer Kugel sieht das ganze etwas komplexer aus. (2, Ist aber für uns erstmal unwichtig.)
Polygone: Polygone kennt man vielleicht schon aus der Mathematik. Sie setzen sich meistens aus 3 Punkten (Vertices) zusammen. (In Bild 1 farbig makiert.). Wichtig für den Comic Look: Polygone sind nur von einer Seite sichtbar. Wäre die Kamera innerhalb des Blockes/Ellipsoiden plaziert, wären die Polygone für uns nicht sichtbar.
Bei manchen kommt jetzt die Frage: Ich habe aber in Gamemaker Spielen schon Wände gesehen, die von beiden Seite sichtbar sind.
Das stimmt, dafür gibt es eine Funktion.
Wenn wir "d3d_set_culling" auf true stellen gilt das, was ich oben sagte. Stellen wir es auf false kann man ein Objekt aus jeder Richtung und Position betrachten. Für Anfänger ist es natürlich leichter es auf false zu haben. Die Nachteile es zu deaktivieren liegen aber darin:
Stellen wir also im Create Event "Culling" auf true, müssen wir beim zeichen von Objekten ein bisschen aufpassen.
Der erste Z-Wert sollte immer kleiner als der 2te sein, weil die Polygone sich sonst umkehren und unsichtbar für uns werden.
Dann muss man sich noch für einen Punkt entscheiden von dem man drawen möchte, den Origin. Er kann ein negativer oder positiver Wert sein, nur die beiden Ursprungswerte sollten entweder größer oder kleiner als die zweiten Werte sein.
Falsch wäre also... :
... Da sich die Polygone wieder umkehren würden.
Nach dem "bisschen" Theorie kommt jetzt die Praxis:
Lasst uns mit einem einfachen Block starten, welchen wir nacher mit einer Umrandung versehen werden. Der Code könnte so aussehen:
Der Z-Wert ist absichtlich um 0.5 erhöht damit nacher der Effekt besser aussieht.
Jetzt kommt die Umrandung.
Damit zeichnen wir einen schwarzen Block, der den anderen umhüllt. Da wir aber die Z-Werte so vertauscht haben, dass der größere an erster Stelle steht, werden die Polygone ebenfalls invertiert. Um nochmal um die 0.5 Erhöhung einzugehen: Jene ist dafür da, dass der Comic Effekt auf dem Boden anfängt, nicht der Block.
Die Seiten, welche die hinteren eigentlich verdecken sollten, sind für uns nicht sichtbar. (3)
(An den Anblick muss man sich vielleicht etwas gewöhnen um ihn zu verstehen.)
Um genau zu sein war das schon alles, zusammenfassend zeige ich nochmal einen Code wie er aussehen könnte.
Ich hoffe ich konnte euch ein wenig über den Comic Look beibringen, aber abschließend muss ich noch sagen:
Bei dieser "Technik" wird (logischer Weise) die doppelte Menge an Polygonen verbraucht, und ist damit sehr performancelastig.
(Fast alles ist selbst erlernt und beigebracht, deswegen lass ich mich gerne (abgesehen von Noobs) verbessern.)
In meinem Example sieht das Ganze dann so aus:

2. Bei meinem alten Tutorial habe ich nach kurzer Zeit auf Grund von blöden Fragen, die besser in "Technische Fragen" gepasst hätten, die Notbremse gezogen und habe den Thread closen lassen. Ich hoffe das läuft diesmal besser.
Wer kennt ihn nicht, den Cel Shading Look der in vielen Spielen wie zum Beispiel in XIII oder Warsow verwendet wird? Oftmals werden zur Aufwertung des Effekts schwarze Konturen um die Objekte gezeichnet, um sie noch "comichafter" darzustellen. Diesen Effekt kann man mit ein wenig Wissen auch mit dem Gamemaker erzielen, was ich euch in diesem Tutorial kurz erklären werde.
Dafür müssen wir erstmal einige Sachen klären.
Wichtige Begriffe und Wissenswertes:


Vertices: (Ich bin mir nicht sicher ob die Teile überall so heißen.) Vertices werden die Eckpunkte unseres Blockes genannt. Ein Block hat 8 Vertices (1). In Figuren wie zum Beispiel einer Kugel sieht das ganze etwas komplexer aus. (2, Ist aber für uns erstmal unwichtig.)
Polygone: Polygone kennt man vielleicht schon aus der Mathematik. Sie setzen sich meistens aus 3 Punkten (Vertices) zusammen. (In Bild 1 farbig makiert.). Wichtig für den Comic Look: Polygone sind nur von einer Seite sichtbar. Wäre die Kamera innerhalb des Blockes/Ellipsoiden plaziert, wären die Polygone für uns nicht sichtbar.
Bei manchen kommt jetzt die Frage: Ich habe aber in Gamemaker Spielen schon Wände gesehen, die von beiden Seite sichtbar sind.
Das stimmt, dafür gibt es eine Funktion.
Wenn wir "d3d_set_culling" auf true stellen gilt das, was ich oben sagte. Stellen wir es auf false kann man ein Objekt aus jeder Richtung und Position betrachten. Für Anfänger ist es natürlich leichter es auf false zu haben. Die Nachteile es zu deaktivieren liegen aber darin:
- Wenn man falsche Koordinaten setzt, können Texturen falschrum abgebildet werden, dazu später mehr.
- Das Spiel wird performancelastiger, da beide Seiten eines Polygons dargestellt werden müssen.
Stellen wir also im Create Event "Culling" auf true, müssen wir beim zeichen von Objekten ein bisschen aufpassen.
Der erste Z-Wert sollte immer kleiner als der 2te sein, weil die Polygone sich sonst umkehren und unsichtbar für uns werden.
Dann muss man sich noch für einen Punkt entscheiden von dem man drawen möchte, den Origin. Er kann ein negativer oder positiver Wert sein, nur die beiden Ursprungswerte sollten entweder größer oder kleiner als die zweiten Werte sein.
Falsch wäre also... :
... Da sich die Polygone wieder umkehren würden.
Nach dem "bisschen" Theorie kommt jetzt die Praxis:
Lasst uns mit einem einfachen Block starten, welchen wir nacher mit einer Umrandung versehen werden. Der Code könnte so aussehen:
Der Z-Wert ist absichtlich um 0.5 erhöht damit nacher der Effekt besser aussieht.
Jetzt kommt die Umrandung.
Damit zeichnen wir einen schwarzen Block, der den anderen umhüllt. Da wir aber die Z-Werte so vertauscht haben, dass der größere an erster Stelle steht, werden die Polygone ebenfalls invertiert. Um nochmal um die 0.5 Erhöhung einzugehen: Jene ist dafür da, dass der Comic Effekt auf dem Boden anfängt, nicht der Block.

Die Seiten, welche die hinteren eigentlich verdecken sollten, sind für uns nicht sichtbar. (3)
(An den Anblick muss man sich vielleicht etwas gewöhnen um ihn zu verstehen.)
Um genau zu sein war das schon alles, zusammenfassend zeige ich nochmal einen Code wie er aussehen könnte.
Ich hoffe ich konnte euch ein wenig über den Comic Look beibringen, aber abschließend muss ich noch sagen:
Bei dieser "Technik" wird (logischer Weise) die doppelte Menge an Polygonen verbraucht, und ist damit sehr performancelastig.
(Fast alles ist selbst erlernt und beigebracht, deswegen lass ich mich gerne (abgesehen von Noobs) verbessern.)
In meinem Example sieht das Ganze dann so aus:


Dieser Beitrag wurde bereits 20 mal editiert, zuletzt von Moolt ()