Tutorial Modellierung eines Low-Poly Menschen Teil 1
Inhaltsverzeichnis
Ave!
Und hallo zu meinem ersten Tutorial das direkt weder was mit Delphi noch was mit OpenGL zu tun hat.Hört sich zwar verwirrend an,aber im Endeffekt geht es diesmal um ein Thema mit dem sich jeder der ein 3D-Spiel entwickelt früher oder später einmal auseinandersetzen muss.
Es geht nämlich um das Erstellen eines 3D-Modelles,genauer gesagt um ein 3D-Modell mit einer geringen Polygonanzahl.Wie jeder der sich mit 3D-Grafiken in Echtzeit auseinander setzt weis,hängt die Geschwindigkeit einer 3D-Anwendung u.a. stark von der Anzahl der darzustellenden Polygone ab und selbst auf modernen Grafikkarten sollte man es damit nicht übertreiben.
Und genau deshalb beschäftigen wir uns in diesem Tutorial mit dem Erstellen eines menschlichen 3D-Modelles unter Nutzung möglichst weniger (genauer gesagt 360) Dreiecke.Für eine Hauptfigur in einem Egoshooter wäre das natürlich viel zu undetailliert,allerdings ziele ich eher auf ein Modell für ein Strategiespiel o.Ä. ab,bei denen sich oft hunderte von Einheiten gleichzeitig auf dem Bildschirm tummeln.Allerdings lässt sich die Polygonanzahl des Modells leicht erhöhen und den eigenen Bedürfnissen anpassen.Mir gehts in diesem Tutorial eher um die Grundlagen als um den endgültigen Polycount.
Voraussetzungen
In diesem Tutorial verwende ich 3DStudio MAX (wie zu sehen in einer englischen Version),aber eigentlich sollte es sich ohne größere Umstände auf alle 3D-Modellierer die nach einem ähnlichen Prinzip arbeiten und das Modifizieren auf Vertexebene ermöglichen,übertragbar sein.
Grundlegende Kenntnisse der genutzten 3D-Software sollten euch allerdings bekannt sein bevor ihr euch ins Tut stürzt.Damit meine ich solche Aktionen wie Markieren,Verschieben,Skalieren,Erstellen von Primitiven und das Verändern eines Viewports.
Grundlagen
Da sich menschliche Formen nur schlecht aus dem Gedächtnis mit ein paar Boxen modellieren lassen,brauchen wir natürlich eine Vorlage die einem Menschen ähnlich kommt.Da das Ganze auch noch 3D ist,vorzugsweise auch von zwei Seiten (Vorne und Links oder Rechts).Entschieden hab ich mich dann für die Grundlage eines jeden Menschen,nämlich ein Skelett.(zum vergrößern klicken)
3DStudio MAX bietet uns jetzt die tolle Möglichkeit eben diese Vorlagen als Hintergrund für einen Viewport anzugeben.Wir beginnen mit dem Modellieren unserer Figur in der Frontansicht,und wählen deshalb auch diesen Viewport an.Nun wechseln wir in den Dialog der uns diesen Hintergrund festlegen lässt :
In obigem Dialog wählen wir über "File" zuerst unser Hintergrundbild für den aktuell selektierten Viewport aus. Danach müssen wir den Aspekratio via "Match Bitmap" an das Bild anpassen,da es sonst verzerrt im Hintergrund angezeigt werden würde.Die Checkbox "Lock Zoom/Pan" muss auch aktiviert werden,damit das Bild beim Verschieben/Zoomen des Viewports auch angepasst wird.
Danach sollte eure Frontansicht ungefähr so aussehen (ich hab ihn mir auf den ganzen Schirm geholt und auch passen gezoomt bzw. verschoben) :
Der Brustkorb
Nachdem wir nun unseren Viewport an unsere Bedürfnisse angepasst und mit einem Hintergrundbild ausgesttatet haben,auf dessen Basis wir unser Modell erstellen,können wir auch schon mit dem eigentlichen Modelliervorgang loslegen.
Wie schon kurz angesprochen werden wir unsere Figur komplett aus Boxen erstellen. Also wählen wir die Boxprimitive aus und erstellen eine 3x3x1 unterteilte Box die ungefähr den Ausmassen des Skelettbrustkorbes entspricht, allerdings ein wenig größer ist, da ein Mensch ja bekannterweise noch Haut und Fleisch besitzt :
Die Box kommt zwar vom Umfang her schonmal nah ran, allerdings passt die Form absolut nicht.Dazu gibts aber den "Mesh bearbeiten"(Edit Mesh)-Modifikator,den wir auch gleich auf die Box anwenden. Danach selektieren wir die Vertices immer so wie auf folgendem Screen zu sehen mit dem Auswahlrechteck :
Das Auswahlrechteck deshalb,weil bei einem einfachen Klick auf das sichtbare Vertex nur dieses ausgewählt werden würde,und nicht auch wie beim Auswahlrechteck alle dahinterliegenden Vertices.Bitte behaltet euch diesen Satz das ganze Tut über im Hinterkopf,denn er ist wichtig!.
Nun selektiert und verschiebt ihr also die Vertices (Auswahlrechteck!) solange in der Vorderansicht,bis der Brustkorb in etwa dem des Skelettes entspricht.Das muss nicht 1:1 sein,man kann hier natürlich nach Lust und Laune variieren.Euer Ergebnis sollte nun in etwa so aussehen (rechts seht ihr das Ergebnis in der 3D-Ansicht) :
Dank unserer Vorlage in Form des Skelettes sollte euch diese Aktion eigentlich recht leicht gefallen sein.Kleiner Hinweis falls ihr ein detaillierters Modell erstellen wollt : Die 3x3x1-unterteilte Box kann natürlich nach Belieben unterteilt und somit mit mehr Dreicken versehen werden,wodurch ihr leicht mehr Details ausarbeiten könnt!
Die Arme
Weiter gehts mit den Armen unseres Protagonisten.Da die Grundsätze des Modellierens der Körperteile (Vertexauswahl,Modifikatoranwendung) bereits im vorigen Kapitel beschrieben wurden,spar ich mir das jetzt und in den folgenden Absätzen und komme direkter auf den Punkt.
Wir erstellen also wieder eine Box,die ungefähr den Dimensionen des Armes entspricht.Diesmal allerdings 3x1x1 unterteilt (Oberarm,Unterarm,Hand).Diesmal verändern wir diese Box allerdings nicht entsprechend der Armposition,sondern so wie ein menschlicher Arm im Normalfall bei lässigem Stehen positioniert wäre :
Nun nutzen wir die Tatsache das ein menschlicher Körper symetrisch ist schamlos aus und erstellen den anderen Arm durch ein Spiegeln als Kopie :
Anschliessend müssen wir den neu erstellten Arm nur noch an die passende Stelle auf der gegenüberliegenden Seite des Brustkorbs schieben.
Das Becken
Wer sich in Sachen Anatomie ein wenig auskennt (oder wer schonmal in den Spiegel geschaut hat),wird feststellen das es eine Verbindung zwischen Rumpf und den Beinen gibt,auch das Becken genannt.Rein theoretisch hätten wir diesen im selben Mesh wie den Rumpf modellieren können,aber für eine evtl. später folgende Animation unseres Recken ist ein seperater Mesh dafür besser geeignet.
Da das Prozedere dem der Erstellung des Brustkorbes wie ein Ei dem anderen gleicht,gibts hier nur die Screencaps von der Box und dem fertigen Rumpf.Einziger Unterschied zum Brustkorb ist natürlich die Form und die Tatsache das man einen Übergang zu eben diesem im Becken schaffen sollte,sowie Ansätze für die gleich folgenden Beine :
Kurzer Tipp für Polygonsparer : Hier würde eigentlich auch eine 2x2x1-unterteilte Box reichen (28 Polygone weniger),die dann allerdings natürlich nicht so organisch aussähe.
Die Beine
Damit sich unser Polygonheld auch etwas besitzt auf das er sich in seiner virtuellen Umgebung stützen kann,geben wir ihm auch zwei Beine mit (dank der Symetrie müssen wir allerdings nur eines modellieren).Wie auch schon bei den Armen erstellen wir wieder eine 3x1x1-unterteilte Box die in etwa die Beine unseres Viewporthintergrunds umschliesst und passen diese Box dann anhand des Skeletts in ihren Unterteilungen an.Danach bringen wir das Bein noch in eine natürlichere Position :
Ist unser Bein fertiggestellt,so wird dieses wieder als eine Kopie gespiegelt um anschliessend an die passende Position geschoben zu werden.Beim "basteln" der Beine solltet ihr übrigens drauf achten,das die Stelle an der diese aus dem Becken treten auch recht "flüssig" überläuft um einen natürlichen Eindruck zu gewährleisten.Solltet ihr das zumindest halbwegs hinbekommen haben,dann dürfte euer Modell in der 3D-Ansicht in etwa so aussehen :
Der Hals
Dem Hals müssen wir besonders bei einem Modell mit so wenigen Polygonen kaum Beachtung schenken,tut er doch nichts weiter als den Rumpf und den Kopf zu verbinden.Wir verwenden eine einfache 2x1x1 Box die etwas höher als breit ist :
Der Kopf
Der Kopf gillt allgemein hin als das wichtigste Körperteil des modernen Menschen,wird er doch manchmal zum Denken genutzt.Bei uns nimmt er auch eine "wichtige" Funktion ein,denn er ist der einzige Mesh den wir auch in die Tiefe hinein unterteilen (dazu gleich mehr).Wir erstellen also eine 3x3x3-unterteilte Box die in etwa den kompletten Schädel umschliesst.Auch diese passen wir wie gewohnt den Gegebenheiten des zugrundeliegenden Körperteils an,machen sie allerdings ein wenig runder (und damit organischer) als dies beim Schädel der Fall ist.Natürlich könnt ihr euch beim Kopf freien Lauf lassen und evtl. noch Hörner oder sonstige Accessoirs wie Haare,Helme oder Hüte direkt in den Kopf miteinbringen.Solche Details wie Augenhöhlen,Nase oder Mund können wir bei einem Low-Poly-Model natürlich nicht über die Geometrie einbinden,sondern müssen später über eine Textur realisiert werden :
Was natürlich sofort auffällt ist die Flachheit unseres Avatars.Da wir allerdings in 3 Dimensionen sehen und leben,werden wir uns diesem Problem natürlich auch sofot annehmen.
Die 3.Dimension
Wie bereits gesagt,ist unser Modell zwar schon menschlich geformt,würde so aber in keiner 3D-Anwendung ne gute Figur machen.Begeben wir uns nun also in die 3.Dimension.Dazu aktivieren wir die linke Seitenansicht und laden dort als Hintergrund dann die Datei bones2.jpg.Mit großer Wahrscheinlichkeit wird euch jetzt allerdings genau dasselbe passieren wie mir : Das Hintergrundbild passt größen- und positionstechnisch nicht zu unserem 3D-Modell.Das macht aber nichts,denn da wir in der Frontansicht fertig sind werden wir unsere Figur komplett markieren und solange skalieren bzw. verschieben bis sie in etwa auf unser neues Hintergrundbild passt.Eure linke Seitenansicht sollte nun in etwa so aussehen :
Der Brustkorb
Besonders bei diversen Filmschauspielern und Superhelden ist es gerade der markante Brustkorb der ihnen das gewisse etwas verleiht.Das soll bei unserem Polygonier auch so sein,weshalb wir den Brustkorb jetzt leicht in die nach vorne und leicht nach hinten verbreitern.Das sollte dann in etwa so aussehen,und wie rechts zu sehen macht sich der Effekt auch gleich bemerkbar.Wer sich übrigens beim "Brustkorb" an die Skelettvorlage gehalten hat,der hat einen netten Durschnittspolygonier gebastelt :
Der Kopf
Auch dem Kopf sollten wir eine natürliche Form in allen 3 Dimensionen verpassen.Diesmal müssen wir allerdings auch kurz mal in die von-oben Ansicht wechseln,um die äusseren Ecken des Kopfes ein wenig nach Innen zu ziehen.Das ist deshalb nötig,da unser Polygonprolet sonst ein leicht eingedelltes und damit recht befremdliches Gesicht (und auch Hinterkopf) hätte.In Pixel ausgedrückt sollte das im Endeffekt so aussehen und in der 3D-Ansicht ist gut zu erkennen was ein paar verschobene Vertices so ausmachen können :
Die Beine
Auch die Beine (und v.a. der Fuß) unseres Modelles sollten leicht in die 3.Dimension transportiert werden um es realistischer erscheinen zu lassen.Zu diesem Zeck knicken wir das Bein dort wo eigentlich die Kniekehle ist ein wenig nach vorne und ziehen die vorne und ganz unten sitzenden Vertices recht weit nach vorne um einen Fuß zu bilden.Natürlich müsst ihr das nicht an beiden Beinen machen.Vor dem Bearbeiten solltet ihr deshalb ein Bein entfernen und das bearbeitet nach dem Ende dieser Aktion wieder als gespiegelte Kopie verschieben :
Nachwort
Da steht er nun (mehr oder weniger ähnliche),unser 360 Polygone leichter Paul Pixel und er wartet nur darauf in irgendeinem Spiel in die virtuelle Schlacht geschickt zu werden :
Was ihm natürlich noch fehlt ist ein passende Textur.Dazu wirds in Zukunft bei brauchbarem Feedback dann auch evtl. ein Tutorial geben,aber bis dahin könnt ihr euch ja schonmal selbst daran verdingen.
Ich hoffe mit diesem Tutorial übrigens eine kleine Lücke geschlossen zu haben,welche teamintern schon besprochen wurde : Content.Denn viele haben zwar die programmiertechnischen Voraussetzungen um ein Spiel zu programmieren,aber beim Erstellen des Inhalts (v.a. 3D-Modelle) haperts oft.Ich hoffe deshalb dass durch dieses Tutorial nun einige von euch in der Lage sind eigene Figuren zu erstellen.Deshalb gibts allerdings auch kein fertiges 3D-Modell zum Download.Um den Lerneffekt dieses Tutorials zu verstärken müsst ihr diesmal vom Anfang bis zum Ende durchhalten!
Euer
- Son of Satan(webmaster@delphigl.de)
|
||
Vorhergehendes Tutorial: - |
Nächstes Tutorial: Tutorial Modellierung eines Low-Poly Menschen Teil 2 |
|
Schreibt was ihr zu diesem Tutorial denkt ins Feedbackforum von DelphiGL.com. Lob, Verbesserungsvorschläge, Hinweise und Tutorialwünsche sind stets willkommen. |