
Wilhelm der Burgherr
Kleine, kurze Zwischenprojekte machen mir immer wieder Spaß. Man hat nach ein, zwei Tagen schon ein brauchbares Ergebnis und kann sich mal wieder mit einer 3D-Pipeline auseinandersetzen, quasi um sein Wissen mal wieder aufzufrischen.
Hier entstand nun in zwei Abenden ein kompletter Charakter mit ersten Animationen. Ziel des Ganzen war Alles soweit auszuarbeiten das ein .X-Modell exportiert wird das dann in DarkBasicPro weiter verwendet werden kann. Das .X-Format ist ja ein Urgestein der 3D Spiele und birgt so einige Tücken, ich hatte schon alle möglichen Fehler, von falsch exportierten Mappings bis hin zu falschen interpretationen der Animationen und auch so richtig zerschossene Modelle. Die magische Formel wie funktioniert habe ich auch nicht, aber wenn man sehr sauber arbeitet und Alles als Meshobjekt hält funktioniert es irgendwie.
Mein Character sollte eine interessante Mischung aus realem Menschen und Comicfigur sein, als Vorlage dienten mir die Figuren aus “Monkey Island 3″ mit ihren langen dünnen Beinen. Also wurden kurzerhand ein paar Skizzen gemacht und angefangen einen sympatischen alten Burgeherren zu modellieren. Schlussendlich brauchte ich ca. 2.800 Polygone, was ziehmlich wenig ist und mit Sicherheit flüssig in der Gameengine läuft.
Wenn man einmal soweit ist, kann man das Objekt duplizieren und beginnen das HighRes-Modell daraus zu entwickeln. Ich entschied mich, dass diesmal auch gleich mit in Max zu machen, da einerseits recht viele Cutins und Zusatzobjekte das HighRes ausmachen und 3dStudio ja auch ganz gute Skulptingtools bereitstellt. Oben seht Ihr ja die zusätzlichen Falten, Nähte und Knöpfe – das Modell hat in dieser Form rund 550.000 Polygone.
Realtime Modell und Shader
Nur ein hübsches Modell allein macht ja noch keinen Gamecharacter. Und so ist es wichtigt das ein sauberes Mapping die Texturen zuweist, die Details des HighRes in eine NormalMap gebaked werden und Effekte wie Ambient Occlusion oder Global Illumination vorberechnet werden und dann mit in die Textur integriert werden.
Für den Shader bietet es sich an ein DirectX Material zu erstellen, dass dann als .fx oder . hlsl exportiert wird und als solche auch gleich wieder in der GameEnginge geladen werden kann. 3ds Max bietet hervoragende Möglichkeiten diese Shader (ohne große Programmierkenntnisse) zu erstellen und kann auch Standartmaterialien sauber umwandeln. Der große Vorteil der Shadererstellung in Max ist, dass man dort im Viewport schon eine sehr genaue Dartellung des Materials erhält, die mit der in der Engine fast 1 zu 1 überein stimmt.
Unwrapping and Texturing

Ich will hier kurz nochmal auf die Texturen eingehen. Also das Unwrapping ist eigentlich per Hand in Max erstellt, Ein paar mal Peltmapping und hier und da relaxen, alles schön nebeneinander, kein Ding. Die Difuse-Textur war schon etwas meh Arbeit, sie ist ganz klassisch in Photoshop per Hand gepaintet und wird durch die berechneten AO- und GI-Maps noch nachbeleuchtet. Die NormalMap entsteht über einen Projection-Modifier und wurde auch in Photoshop noch etwas verfeinert.
Idle Animation’s
Letzte große Hürde auf dem Weg zu DrakBasic sind die Animationen. Dafür muss erstmal ein RIG her und mit einem Biped gehts schön schnell. Dieses wird dann auf den Character geskinnt und bekommt noch ein paar Zusatzbones.
Für den Anfang und fürs Testen reichen erstmal ein paar loopfähige Idle Animationen wie “In der Gegend rumstehn” und “Laufen”. Für jede Animation wird eine eigenständige .X-File erzeugt die dann in der Engine angespochen, abgespielt und überblendet werden.