PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Objekte für Spiele optimiert erstellen



Gargi
28.06.2009, 22:24
Ziel dieses Tutorials ist es, Euch ein paar Tipps zu geben, wie man unter Milkshape 3D Objekte ressourcenschonend erstellt. Da die Spieleengines oftmals eine Limitierung der Polygonanzahl bei ihren Modellen und Objekten haben ist es ratsam, soweit wie nur möglich unnötige Polygone zu vermeiden. Ich zeige das mal anhand der Erstellung eines einfaches Objektes, einer Fackel mit Wandhalterung. Hierbei werde ich versuchen, genau die Teile des Objektes zu reduzieren, die später auch nicht sichtbar sein sollen. Grundlegende Funktionsweisen sollten für dieses Tutorial bekannt sein.
Hierzu legen wir gleich einmal mit dem Stiel der Fackel los, der aus einen einfachen Zylinder besteht :

http://www.gargamel.de/assets/images/fackel_01.jpg




Und hier haben wir bereits den ersten Fehler gemacht. Da wir einen Stiel erzeugen wollen, der weiter keine Bearbeitung nötig hat, ist es nicht nötig, zu viele Stufen zu erzeugen.

Hier sind es 7 Stufen.









Somit erstellen wir einen Zylinder mit einer Stufe:




http://www.gargamel.de/assets/images/fackel_02.jpg





Hier können wir deutlich sehen, dass wesentlich weniger Dreiecke verwendet werden. Natürlich kann der Stiel nur noch von der Stärke und Länge her verändert werden. Weitere Einbuchtungen z.B. sind nicht mehr möglich.










Später wird auch der obere Teil des Stieles nicht mehr sichtbar sein, da wir noch einen Fackelkopf auf den Stiel plazieren. Ebenso wird die Fackel ja an der Wand hängen, und somit wird innerhalb eines Spieles der obere Teil der Fackel nicht leicht sichtbar sein. Also können wir auf die Polygone am oberen Teil des Stieles verzichten. Deshalb wählen wir die oberen Faces (Polygone aus) :

http://www.gargamel.de/assets/images/fackel_03.jpg

Und jetzt entfernen wir die unnötigen Dreiecke mit der Taste “Entf” auf der Tastatur:

http://www.gargamel.de/assets/images/fackel_04.jpg

Somit ist der nicht sichtbare Deckel entfernt.

Jetzt ziehen wir den Stiel einwenig in die Länge und kopieren das Objekt. Der kopierte Zylinder soll jetzt unser Fackelkopf werden. Also setzen wir ihn oben auf den Stiel und verkürzen ihn einwenig. Danach strecken wir ihn mittes der “Scale” Funtion einwenig in die Breite. Das Ergebnis sollte ungefähr so aussehen:

http://www.gargamel.de/assets/images/fackel_05.jpg

Auch hier sehen wir, dass der Deckel des Fackelkopfes fehlt. Das ist soweit okay, da dann später im Spiel mittels des passenden Leveleditors eine Feuertextur aufgesetzt wird. Somit ist die Öffnung später nicht sichtbar.

Dann wählen wir beide Objekte aus und drehen diese einwenig, damit die Fackel in eine leichte Schräglage kommt:

http://www.gargamel.de/assets/images/fackel_06.jpg

Als nächstes erstellen wir eine Halterung für den Stiel der Fackel. Dazu generieren wir eine einfache Kugel:

http://www.gargamel.de/assets/images/fackel_07.jpg

Nun markieren wir den oberen Teil der Kugel ( Vertexes ) :

http://www.gargamel.de/assets/images/fackel_08.jpg

Und löschen den oberen Teil mit der “Entf” taste auf der Tastatur:

http://www.gargamel.de/assets/images/fackel_09.jpg

Auf diese Weise haben wir jetzt eine offene Halbkugel erstellt.

Diese strecken wir einwenig nach unten und verschieben sie direkt unter den Stiel der Fackel. Eventuell muß die Halbkugel noch einwenig vergrößert oder verkleinert werden, damit der Stiel direkt hineinpaßt. Somit steckt jetzt der Stiel in einer Art Schale. Das Ergebnis sollte so aussehen:

http://www.gargamel.de/assets/images/fackel_10.jpg

Jetzt benötigen wir eine Wandplatte. Dazu ziehen wir einen Würfel hinter der Fackel auf, der relativ flach gehalten wird:

http://www.gargamel.de/assets/images/fackel_11.jpg

Mit “Move” und “Scale” passen wir die Wandplatte einwenig an:

http://www.gargamel.de/assets/images/fackel_12.jpg

Da die Rückseite der Wandplatte später nicht zu sehen sein wird (liegt ja direkt an der Wand auf), markieren wir die zwei Dreiecke, die die Rückseite der Platte bilden und...

http://www.gargamel.de/assets/images/fackel_13.jpg

... entfernen diese mit der “Entf” Taste auf der Tastatur. Das Ergebnis:

http://www.gargamel.de/assets/images/fackel_14.jpg

Damit unsere Fackel nicht nach vorne wegkippen würde, erzeugen wir noch eine weitere Halterung für den Stiel. Hierzu erstellen wir wieder einen flachen Würfel:

http://www.gargamel.de/assets/images/fackel_15.jpg

Mit “Move” und “Scale” bringen wir den Halter noch einwenig in eine passende Form. Z.B. so:

http://www.gargamel.de/assets/images/fackel_16.jpg

Das Objekt ansich ist jetzt fertig. Wir erstellen nun noch eine einfache Textur dafür. Dazu benennen wir ersteinmal die einzelnen Objekte um, damit wir uns leichter zurechtfinden:

http://www.gargamel.de/assets/images/fackel_17.jpg











Wie wir es schon in dem einfachen Textur-Tutorial gelernt habe, verstecken wir alle Objekte und lassen uns jeweils eines anzeigen, damit wir davon einen Screenshot machen und diesen in ein Grafikprogramm importieren können:
















http://www.gargamel.de/assets/images/fackel_18.jpg

Nachdem wir jedes einzelne Objekt nun “fotografiert” und die einzelnen Bilder in einen Malprogramm angelegt haben, sollten wir nun eine Vorlage haben, die ungefähr der hier gleicht:

http://www.gargamel.de/assets/images/fackel_19.jpg

Auch diese Vorlage müssen wir entsprechend ausmalen. Hier mein Vorschlag:

http://www.gargamel.de/assets/images/fackel_21.jpg

Nicht sichtbare Teile werden einfach schwarz ausgefüllt.

Über den Textureditor wird dann für jedes einzelne Objekt die Textur zugewiesen:

http://www.gargamel.de/assets/images/fackel_22.jpg

Wenn alles zugewiesen ist, dann sollte die Fackel eine komplette Textur besitzen und ist soweit fertig für das Importieren in ein Spiel.

http://www.gargamel.de/assets/images/fackel_23.jpg

Die Fackel und die Textur können direkt heruntergeladen werden:


Fackel (http://downloads.gargi.org/torch.zip)

Textur (http://downloads.gargi.org/fackel_tex.zip)