Grundlagen

Ein Quake3 Playermodel zu bauen ist ein langwieriger Prozess, der vor allem Erfahrung im Umgang mit 3D-Software voraussetzt, denn es bedeutet einen kompletten Charakter zu modellieren und zu animieren. Wenn du vorher noch nie ein 3D-Modell gebaut hast, solltest du das erst einmal lernen. Charakteranimation ist die schwerste Aufgabe, die man sich überhaupt im Bereich der Computergrafik stellen kann. Das Thema ist dermaßen komplex, daß ich es hier nicht abhandeln kann. Am besten fängst du mit einem einfachen Charakter an, z.B. ein simples Männchen, das nur aus Boxen zusammengesetzt ist und sich einfach texturieren und animieren läßt.
Englische Tutorials zum Thema gibts auf
Polycount

An Software wird Einiges benötigt, leider kommt man nicht drum herum sich mit 3ds Max inklusive Characterstudio zu beschäftigen, denn dies ist bisher das einzige Programm mit dem ein sinnvoller Export nach Quake3 möglich ist. Wer es einfach mag und überhaupt kein Geld (bzw. nur 20$) ausgeben will kann es auch mit dem Shareware-Tool
Milkshape3D versuchen, ich bin aber mit diesem Programm nicht klar gekommen.
Modellieren kannst du auch in jedem anderen Programm, aber nur wenn dieses einen 3ds Export zuläßt, denn nur dann läßt sich das Model in Max importieren.
Dies ist KEIN Max-Tutorial. Ich gehe davon aus, daß Du die wichtigsten Funktionen dieses Programms beherrschst und gehe nur dort ins Detail, wo es um Quake3 spezifische Besonderheiten geht.



Es werden mindestens folgende Programme benötigt:

-3ds Max ab Version 2 mit Characterstudio
-Q3Tools (q3data) zum Erzeugen der md3 Dateien
-Photoshop, Paintshop oder alternative Software zum Erstellen der Skins
-Quake3
-Winzip (und/oder
Total Commander) zum Entpacken und Erstellen der pk3 Dateien.


Das md3 Format

Bevor du mit dem Model beginnst solltest du wissen, wie ein Quake3 Model überhaupt aufgebaut ist. Jedes Quake3 Model besteht aus 3 Segmenten:
head.md3 - Der Kopf
upper.md3 - Der Oberkörper
lower.md3 - Die Beine

Alle 3 Teile sind durch sogenannte Tags miteinander verbunden, diese Tags sind nichts anderes als Dreipunktpolygone, deren lokale Achse als Rotationspunkt interpretiert wird. Auch die Waffe wird über ein Tag an die Hand gebunden.
Es gibt also folgende Tags:
tag_head
tag_torso
tag_weapon

Mach es dir einfach und sauge dir diese Max-Szene mit den fertigen Tags ->
3tags.zip

Der Kopf kann leider keine Animation haben, er folgt der Mausbewegung des Spielers.
Ober- und Unterkörper können unabhängig voneinander animiert werden. Dadurch kann die Figur z.B. laufen (Walkcycle der Beine) während der Oberkörper gleichzeitig die Taunt Bewegung ausführt.
Beim Modellieren muss man also bereits diese Segmentierung berücksichtigen. Besonders schwierig ist dabei der Übergang von Ober- zu Unterkörper. Am besten entpackst du mit Winzip oder Windows Commander das komplette Verzeichnis eines der original Quake3 Modelle um zu verstehen, wie diese aufgebaut sind.


Limits

Jede Spieleengine hat ihre Limits und diese sollte man kennen. Für Quake3-Models gilt, daß sie nicht mehr als 1000 Polygone haben sollten, wenn man mit LOD (Level of Detail)-Stufen arbeitet um so besser. Auf modernen Rechnern mit GeForce-Karte sollten zwar auch Models mit 1500 Poylgonen noch flüssig laufen, aber je sparsamer man mit Polygonen umgeht desto besser. Die FPS-Freaks werden es Dir danken.
Für die Anzahl der Vertices pro md3-Objekt gibt es übrigens eine absolute Grenze und die liegt bei 1000.
Q3data lässt nicht mehr als 500 Animationsframes zu, sollte aber auch reichen. Wer dennoch mehr Frames braucht, muss sich nach einer speziellen Version von q3data umsehen, die mehr Frames erlaubt, leider weiss ich nicht, wo es die gibt.
Texturen dürfen maximal 2048x2048 Pixel groß sein, üblich sind aber 256x256 und zwar möglichst nicht mehr als 2 Stück. Auf jeden Fall müssen die Texturen immer "power of 2"-Maße haben, also 8, 16, 32, 64, 128, 256, 512 usw.
Sowohl bei der Anzahl der Polygone als auch der Größe und Anzahl der Texturen gilt es, einen guten Kompromiss zwischen Qualität und Resourcenbedarf zu finden.


Größe

Die korrekte Größe des Models in MAX ist enorm wichtig, denn sie wirkt sich direkt auf die Größe im Spiel aus und läßt sich dort nicht nachträglich korrigieren. Erzeuge eine Box mit den Maßen B=64, L=64 und H=128 Einheiten. Sie muss mit der Unterkante genau auf der Nullebene stehen. Diese Box ist die "Bounding Box", also die Trefferzone des Objekts. Du kannst sie "freezen", sie wird nur als Referenz gebraucht und wird später nicht exportiert. Dein Model sollte diese Box ausfüllen, alle Teile die darüber hinausstehen werden in Quake3 bei der Kollisionsabfrage nicht berücksichtigt.


Ein paar Tricks...

Bei manchen Models kann die Segmentierung der Geometrie zu unschönen Übergängen an den entsprechenden Stellen führen und daß man den Kopf nicht animieren kann ist ebenfalls eine unangenehme Einschränkung.
Aber es gibt da einige Tricks.
Wenn der Kopf mit dem Torso verbunden sein soll, also ohne Segmentierung, dann modelliere es eben entsprechend. Die Q3-Engine braucht aber trotzdem head.md3 und tag_head. Die Lösung sieht hier so aus, daß ein zusätzlicher Kopf modelliert wird, der so klein skaliert wird, daß er sich im Torso verstecken läßt. Denke aber daran, daß dieser separate Kopf das Objekt ist, welches im HUD und Scoreboard angzeigt wird, er sollte also ebenfalls sorgfältig modelliert und texturiert werden. Bei dieser Lösung gehört der Kopf zum Torso und lässt sich mit diesem animieren, ein sehr schönes Beispiel für die Anwendung dieses Tricks ist das "Massacre"-Model von Mike & Bill Jukes.
Eine andere Variante wäre, den Oberkörper zum lower.md3 gehören zu lassen und nur den rechten Arm, der die Waffe hält zum upper.md3 zu machen. Ein sehr schönes Model, bei dem dies gemacht wurde ist "Angela" von Alcor.