3d für Anfänger - Modelle

    • 3d für Anfänger - Modelle

      Weitere 3d-Anfänger Tutorials gibt's hier:




      Dieses Tutorial basiert teilweise auf meinem Tutorial "3d für Anfänger ", einige Kenntnisse sollten also vorhanden sein.

      Dieses Tutorial beschäftigt sich mit dem Benutzen von Modellen im Gamemaker. Es ist in zwei Teile geteilt - zuerst werde ich einige Modeller vorstellen, danach werde ich eine Methode vorstellen Models zu nutzen.

      Modeller:

      Es gibt eine Vielzahl an kostenlosen 3d Modellern - einige von ihnen stelle ich hier kurz vor.

      Blender


      Der wahrscheinlich mächtigste und zugleich kostenlose Modeller ist Blender. Außer dem Modelieren bietet Blender auch Funktionen zum texturieren, animieren und rendern. Außerdem kann in alle gängigen Formate exportiert werden, die Bedienung ist anfangs jedoch sehr ungewohnt.
      Download: blender.org/download/get-blender/

      trueSpace



      trueSpace wurde Anfang 2008 von Microsoft aufgekauft und ist seit dem als Freeware verfügbar. Besonders zum Rendern sehr geeignet - aber auch für Spiele brauchbar.
      Download: chip.de/downloads/trueSpace_32310554.html (Registration auf der Herstellerseite erforderlich)

      Anim8or



      Anim8or ist ein Modeller der eher für das Erstellen von Low-Poly Modelle geeignet ist. Schon nach kurzer Zeit hat man sich eingewöhnt.
      Download: http://www.anim8or.com/main/index.html

      (Falls jemand der Meinung ist, dass ich einen Modeler vergessen hätte - bitte bescheid sagen)


      Modelle im Game Maker:

      Auch beim Benutzen von Modellen gibt es nicht einen konkreten Lösungsweg. Ich werde das Nutzen von extern gelagerten Modellen erklären.



      Zuerst erstellen wir ein Model in einem beliebigem Modeller, ich benutze hier Milkshape 3d, welches allerdings kostenpflichtig ist und deswegen in der "Liste" ungenannt bleibt. Danach exportieren wir das Model als *.obj Format.

      Das externe Lagern und Nutzen von Modellen (Als *obj)

      Vorbereitung:

      Models zu importieren ist einfacher als man denkt, besonders wenn das gewünschte Format *.obj ist.
      Zuerst müssen wir die fertigen Scripte (welche man sich im Anhang runterladen kann) in dem Game Maker importieren. Diese brauchen wir, da der Game Maker das *.obj Format standartmäßig nicht unterstützt.
      Am besten nehmen wir wieder das Example was wir uns in meinem Anfänger Tutorial erarbeitet haben. Ich habe mir überlegt einen Wald aus dem jetzigen Example zu machen. Dafür ändern wir fix die Bodentextur im Objekt "floor".
      Nun ist es bei 3d ja so, dass Texturen weit aus größere Dimensionen annhemen als bei einem 2d Spiel mit Pixelmännchen. Daher ist es ratsam größere Texturen extern zu lagern. Dafür erstellen wir einen neuen "Background" und nennen ihn "tex_boden". Die Textur jedoch laden wir nicht sondern drücken im Fenster "Background Properties" einfach auf "OK".
      Dann ändern wir den Draw-Code im "floor" Objekt entsprechend um.

      GML-Quellcode

      1. d3d_draw_floor(x+1000,y-1000,0,x-1000,y+1000,0,background_get_texture(tex_boden),31.25,31.25)


      Da wir dem Boden bis jetzt nur eine leere, weiße Textur zugeordnet haben, werden wir dies jetzt ändern. Im Create-Event fügen wir folgende Zeile hinzu:

      GML-Quellcode

      1. background_replace(tex_boden,'textures\tex_01.jpg',0,0,0)


      Mit dem Befehl "background_replace" kann man eine Textur austauschen, in unserem Fall die leere weiße Textur, mit der Textur "tex_01.bmp" welche sich im Unterordner "textures" befindet.
      Somit lassen sich lange Ladezeiten am Anfang verhindern, und die *.exe wird nacher nicht übermäßig groß sein.

      Beispielhaft könnte man diese Textur benutzen:



      Nebenbei: Alle Resourcen in diesem Tutorial sind frei verwendbar und ohne Eintrag in den Credits zu benutzen.

      Importieren:

      Nun fehlen noch die Bäume, es soll ja schließlich ein Wald werden. Ich habe schon einen Vorbereitet, ihr könnt ihn im Anhang herunterladen.

      So sieht er in Milkshape 3d aus.

      Nun erstellen wir entweder ein neues Objekt oder editieren das bereits vorhandene Objekt "block_objekt".
      Im Create-Event schreiben wir:

      GML-Quellcode

      1. tree=createFromObj('models\tree.obj')
      2. background_replace(tex_tree,'textures\tex_02.jpg',0,0,0)


      Mit diesem Code ordnen wir der Variable "tree" einem Model zu. "models" ist wieder ein Unterordner in dem sich das Model "tree" befindet.
      Die Textur für den Baum erstellen wir auf gleiche Weise wie für den Boden, und verschieben sie wie gehabt in den Unterordner "textures".
      Nun lassen wir den Baum noch zeichnen, dies tun wir natürlich im Draw-Event.
      Dies geschieht mit der standart Fuktion "d3d_model_draw()"
      Wir schreiben also:

      GML-Quellcode

      1. d3d_model_draw(tree,x,y,0,background_get_texture(tex_tree))


      "tree" ist die Variable die dem Model zugeordnet ist, und tex_tree die Textur des Baumes.


      (Die Textur für den Baum)



      Nun wird nur noch das Baum Objekt plaziert und danach getestet. Es ist ratsam reinzuzoomen, da Boden und Baum Textur die gleichen sind, und der Baum leicht zu übersehen ist.
      Dateien
      • Scripts.zip

        (1,6 kB, 496 mal heruntergeladen, zuletzt: )
      • texturen.zip

        (845,4 kB, 233 mal heruntergeladen, zuletzt: )
      • models.zip

        (3,49 kB, 404 mal heruntergeladen, zuletzt: )
      • example-simple.zip

        (1,97 MB, 531 mal heruntergeladen, zuletzt: )
    • Erster...

      Finde das Tut sehr hilfreich, ich hatte mich noch nicht sonderlich mit den GM-3D-Funktionen beschäftigt und es sieht doch ganz gut aus.

      EDIT: Anim8or hängt nicht zwangsmäßig mit "low-poly-modellen zusammen. Es hat eigentlich nich sonderliche Probleme mit vielen Polygonen, Punkten und Edges. Ausserdem setzt es beim Verbinden von 2 Punkten mit einer Kante nicht 2 neue Punkte wie dein Milkshape ;)
      So far, Schattenphoenix~
      _____________________________________________________________________________
      "Who needs a stairway to heaven...
      If there is an elevator to hell... ?
      "
      - Vergessen
      "Auch ein perfektes Chaos ist etwas vollkommenes."
      - Jean Genet

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Schattenphoenix ()

    • Jaja, von Moolt lern ich immer wieder was neues =D
      So far, Schattenphoenix~
      _____________________________________________________________________________
      "Who needs a stairway to heaven...
      If there is an elevator to hell... ?
      "
      - Vergessen
      "Auch ein perfektes Chaos ist etwas vollkommenes."
      - Jean Genet
    • Toby schrieb:

      Der Gibt mir keine UV Map...

      Der GM hat auch leider keinen UV map Editor.
      In dem Angehängten Bild siehst du wie ein solcher funktioniert: Unten rechts siehst du das eigentliche 3d object, oben links die dazugehörige UV map. Die Werte müssten zwischen 0 und 1 liegen und beschreiben die position der Textur auf dem Objekt. Dafür muss allerdings für die Vertextgroupeine Texture Map definiert sein und eine entsprechende Textur vorliegen.
      Bilder
      • uvmap.jpg

        59,35 kB, 640×480, 391 mal angesehen
      Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
      GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
    • RE: 3d für Anfänger - Modelle

      Ich finde das Tutorial sehr gut ausgearbeitet und werde auch in zukunft gebrauch davon machen(jedoch nur so zum testen)

      Moolt schrieb:

      ...
      (Falls jemand der Meinung ist, dass ich einen Modeler vergessen hätte - bitte bescheid sagen)
      ...


      Jo es gibt noch einen zu erwähnen Golem 3D ist sehr interessant für low bis mid poly Models,
      hier ein Screenshot: (klicken um Originalgröße zu sehen)
      MfG Genesis
    • Ich wüsste gerne welche dateiendungen er für texturen und welche er für 3d objekte akzeptiert
      kommt in die beste stadt der welt die welt von mir und einnel
      Fabrik eröffnen
      einziehen
      transport steigern
      Copyboy's Magischer Münz Automat:

      Meine Internet seite mit Lord-Belail und Einnel kommt rein ich erwarte euch^^

      I am a according to the gml n00b test!
    • heisst das es gibt noch andere für andere 3d dateien?
      kommt in die beste stadt der welt die welt von mir und einnel
      Fabrik eröffnen
      einziehen
      transport steigern
      Copyboy's Magischer Münz Automat:

      Meine Internet seite mit Lord-Belail und Einnel kommt rein ich erwarte euch^^

      I am a according to the gml n00b test!
    • Ich habe ein Auto object erstellt (mit Anim8tor)und als Auto.obj gespeichert ich wollte die datei wieder öffnen aber dann war das Auto nicht mehr da...
      ich habe wieder ein Auto erstellt, gespeichert, wollte es wieder öffnen aber es war wieder nicht mehr da.
      Muss ich noch etwas besonderes machen?
    • Benutzer online 1

      1 Besucher