Benutzer-Werkzeuge

Webseiten-Werkzeuge


Tutorial Mob Erstellung

  • Teil 1: Erstellung der Bones/IK-Ketten, Positionierung der Helperobjekte - Animation - Exportieren
  • Teil 2: Schreiben der Scripte - Einfügen des Mobs im Spacer - Testen

Ausgangsmesh

Teil 1: Erstellung der Bones/IK-Ketten, Positionierung der Helperobjekte - Animation - Exportieren

1. Inserten des Meshes und dessen Benennung

Als erstes Inserten wir unser Mesh, welches wir zu einem Mob machen wollen, in unserem Beispiel ist dies eine Glocke!
Am besten schauen wir nochmal nach, ob das Mesh auch die richtige Größe für den Human hat, und nicht irgendwelche Einheiten vertauscht wurden.
Dies können wir machen, indem wir uns eine Box mit den Maßen 50 ,70 ,180 (alle Angaben in cm) erstellen. Nun benennen wir, wenn ihr es nicht schon getan habt, das Mesh um, das es Gothic auch als Dieses erkennt. Also mit zm_ am Anfang! In unserem Beispiel also „zm_LoAGlocke“ (Ich würde nicht mit Umlauten schreiben evt. kommt es da zu Problemen)

2. Erstellen der Bones/IK-Ketten, und das Attachen dieser mit dem Mesh

Da die Glocke sich auch bewegen soll (bzw, das Seil sich bewegen soll), brauchen wir auch einige Bones, die wir später animieren können. Zur Vereinfachung der Animation erstellen wir auch noch zwei IK-Ketten (Wobei es mich erstaunt hat, dass man diese auch bei Vobs verwenden konnte!)

Doch als Erstes brauchen wir einen Dummy. Dazu wählen wir die die Registerkarte „Create“ > Helpers > Dummy. Der erstellte Dummy, sollte 97 - 100 Einheiten hoch auf der Z-Achse sein. Denn dieser bestimmt nachher, genau wie bei Monster, die Position des eingeblendeten Focus Namen!. (Die Größe des Dummys ist egal!) Wir benennen ihn noch in Bip01 Glocke um.

Wir wählen in 3ds max in der Menüleiste: Charakter > Bone Tools und in dem Fenster, was sich darauf öffnet > Create Bone.
Nun wechseln wir in die Front Sicht (indem wir einfach F drücken!) Jetzt erstellen wir 3 Bones, wichtig ist, dass der Ursprung des ersten Bones dort liegt, wo das Seil an der Glocke befestigt ist (Blau eingefärbt)! Die anderen Bones werden so erstellt, wie es auch dem Bild zu sehen ist. (Die Bones sind gelb eingefärbt!)
Nachdem man das zweite Bones erstellt hat, klickt man einfach einmal mit der rechten Maustaste irgendwo hin, somit wird dieses „Anhängselbone“ erstellt. Gegebenenfalls verschieben wir die Bones noch in der Right - Ansicht!

Benennen der Bones

Da Gothic die Bones auch mit einem bestimmten Namen versehen wünscht, bennen wir diese jetzt um!

  • Oberster Bone: Bip01 Oben
  • Mittlerer Bone: Bip01 Mitte
  • Unterster Bone: Bip01 Unten_of

Wichtig ist nur das Bip01 am Anfang, das danach ist eigentlich egal, es darf nur kein Name doppelt vorkommen!

[CeeX: Es ist eleganter die Bones mit dem Präfix ZS_ zu benennen statt Bip01, da Gothic bei mehr als einem Bip-Knoten pro Hierarchy zu meckern beginnt („more than one bip01 node in hierarchy“).]

So, nun wählen wir den obersten Bone, also den Bip01 Oben Bone aus, und klicken auf den Select and Link - button1.jpg! Als nächstes klicken wir einmal auf den schon ausgewählten Bone, und ziehen die bei gedrückter Maustaste, das erschienene Teichen auf den Bip01 Glocke Dummy! Dort lassen wir die Maustaste los, und der Dummy sollte einmal kurz aufblinken, dies bedeutet das wir den Bone mit dem Dummy verbunden haben. Dies können wir auch nachprüfen, indem wir, bei Selektiertem Bip01 Oben die rechte Maustaste drücken, und Properties wählen, dort müsste unter Parent, Bip01 Glocke stehen.

Das Attachen mit Hilfe des Physik Modifikators erkläre ich jetzt nicht, das sollte man eigentlich können!
Wenn nicht, dann schaut euch mal dieses Tutorial an:
Rigging+Animationen in 3ds Max
Wichtig ist nur, dass am Anfang, bei Attach to Node der Dummy, als Bip01 Glocke gewählt wird.

Erstellen der IK-Ketten

Nun erstellen wir die IK-Ketten. Dazu wählen wir den Bip01 Oben Bone aus, und gehen auf Animation > IK Solvers > HI Solver, und klicken anschließend auf den Bip01 Mitte Bone. Nun ist unser erster IK Chain erstellt. Den zweiten machen wir nach dem gleichen Prinzip, nur mit den Bip01 Mitte und Bip01 Unten_of Bones (in dieser Reinfolge).
Nun haben wir unsere IK-Ketten erstellt, mit denen sich die Glocke später leichter animieren lässt!

3. Mergen des Humans/Erstellen eines Positions - Dummys

So, nun kommen wir zu dem Moment, wo der Human aus Gothic in unsere Mob Szene gemerged wird! Dazu wählen wir File > Merge…und dann die Hum_Body_Naked0.max Datei aus dem Gothic I MDK
Nun drücken wir einmal H und das Select Objects Fenster öffnet sich. Hier wählen wir alle Objekte aus, die mit zs_ anfangen, und löschen diese!

Nun erstellen wir noch einen Positions-Dummy, damit Gothic weiß, von wo der Human die Animation für den Mob starten soll!
Wir erstellen einen neuen Dummy, die Größe ist wieder egal.
Wir geben dem Dummy folgende Koordinaten :
(Dies sind die Koordinaten, des Bip01 Biped, des geinserteten Humans!

Nun benennen wir ihn noch in ZS_POS0, oder klein geschrieben zs_pos0 (besondere Aufmerksamkeit, darauf, dass am Ende eine Null, und kein O ist!)
Danach verbinden wir den Positions-Dummy noch mit dem Bip01 Glocke Dummy, wie Oben.

4. Animation

So, nun kommen wir zur Animation, bei welcher ich euch nicht helfen werde, diese bleibt euch selbst überlassen, es wird genauso animiert, wie bei normalen Gothi Monster. (Man beachte, das oben verlinkte Tutorial!)

5. "Komischer Fehler"

So, wenn wir dies nun exportieren würden, würde der Human in Gothic immer falschherum zu Gothic stehen, und die Animation würde falsch abgespielt werden!!

5.a Fehlerbehebung

[by gothicfan359]

Die Behebung des Fehlers ist eigentlich ganz einfach. In unserem Fall drehen wir den ZS_POS0 Dummy um 180°. Wichtig ist hier, dass man die Verbindung der beiden Dummys nicht löscht.

Falls der Held die Animation himmelwärts oder in Richtung des Bodens vollführt, dann muss man den ZS_POS0 Dummy einfach von der Seite drehen. Am besten denkt man sich schon vorher wie man den Dummy jetzt drehen muss, damit der Charakter normale bei dem Mob steht und die Animation vollführt.

6. Exportieren

Wir brauchen folgende ASC Dateien:
Glocke_Mesh.asc (Enthält nur das Mesh der Glocke, mit den Dummys!)
- Es wir der Quick Export Button „Export Modell Mesh“ gewählt -

Glocke_Ani.asc (Enthält nur die Animation der Glocke, der Human muss beim Exportieren aus der Szene entfernt worden sein!)
- Es wir der Quick Export Button „Export ModellAnimationi“ gewählt -

Glocke_Human_Ani (Enthält die Animation des Humans, die Glocke muss beim Exportieren aus der Szene entfernt worden sein!)
- Es wir der Quick Export Button „Export ModellAnimation“ gewählt -

* Teil 2: Schreiben der Scripte - Einfügen des Mobs im Spacer - Testen

Einleitung:

Nun sind alle Animationen der Glocke erstellt und wie können dazu übergehen die Scripte zu erstellen und das Mobsi zu testen. Das alles werde ich am Beispiel der Glocke die schon bei den Animationen genutzt wurde beschreiben, damit es etwas anschaulicher ist. Allgemeines zu den Animationen findet man auf anderen Seiten des Wikis hier bedarf es zumindest geringes Vorwissen.

1. Animationen des Humans in die humans.mds einfügen

Als erstes öffnen wir die humans.mds im _work/data/anims Verzeichnis.
Damit alles seine Ordnung hat gehen wir erstmal in den Abschnitt für die Mobanimationen, dass ist bei mir so ungefähr die Zeile 3300 (es geht auch überall anders solange es nur nicht außerhalb der klammern steht).
Jetzt heisst es folgende Animationen zu definieren:
Aus dem Stand zu Glocke gehen(T_GLOCKE_STAND_2_S0)
An der Glocke stehen (S_GLOCKE_S0)
Von der Glocke zum Stand wechseln(T_GLOCKE_S0_2_STAND)
Vom Stehen an der Glocke zum Läuten übergehen(T_GLOCKE_S0_2_S1)
Vom Läuten zum Stehen an der Glocke wechseln(T_GLOCKE_S1_2_S0)
Und letztendlich das Läuten an sich (S_GLOCKE_S1).
Der Code sieht nun wie folgt aus:

          // Kirchturmglocke
          ani ("T_GLOCKE_STAND_2_S0" 1 "S_GLOCKE_S0" 0.1 0.0 M. "glocke_human_ani.ASC" F 0 15)
          ani ("S_GLOCKE_S0" 1 "S_GLOCKE_S0" 0.0 0.0 M. "glocke_human_ani.ASC" F 15 15)
          ani ("T_GLOCKE_S0_2_STAND" 1 "" 0.1 0.1 M. "glocke_human_ani.ASC" R 0 15)
          ani ("T_GLOCKE_S0_2_S1" 1 "S_GLOCKE_S1" 0.0 0.0 M. "glocke_human_ani.ASC" F 15 15)
          ani ("T_GLOCKE_S1_2_S0" 1 "S_GLOCKE_S0" 0.1 0.1 M. "glocke_human_ani.ASC" R 15 15)
          ani ("S_GLOCKE_S1" 1 "S_GLOCKE_S1" 0.0 0.0 M. "glocke_human_ani.ASC" F 15 45)

Natürlich kann man jetzt noch Sounds und weiteres hinzufügen aber ich denke darauf brauche hier nicht eingehen. Als letztes speichert ihr jetzt die humans.mds wieder.

2. Animationen des Mobs definieren und in einer eigenen Datei speichern.

Wer eine unbewegliches Mob ( z.b. Stuhl) gebaut hat braucht diesen Abschnitt nicht!
Die Animationen des Players sind also definiert aber damit es Sinn macht solle sich die Glocke ja auch bewegen, bei uns das Seil und der Schlägel(oder wie man das nennt). Diese animationen haben soweit nichts mit dem Mesh des Humans zu tun also müssen wir sie extra definieren. Dazu öffnen wir in unserem Editor erstmal eine neue seite.

Den Code nehme ich diesmal vorneweg:

          Model ("glocke_mesh.ASC")
          {

          meshAndTree ("glocke_mesh.ASC")

          aniEnum
          {


          ani ("S_S0" 1 "S_S0" 0.0 0.0 M. "glocke_ani.ASC" F 15 15)
          ani ("T_S0_2_S1" 1 "S_S1" 0.0 0.0 M. "glocke_ani.ASC" F 15 15)
          ani ("T_S1_2_S0" 1 "S_S0" 0.1 0.1 M. "glocke_ani.ASC" R 15 15)
          ani ("S_S1" 1 "S_S1" 0.0 0.0 M. "glocke_ani.ASC" F 15 45)

          }
          }

Bei „Model“ sowie „meshAndTree“ wird ersteinmal angegeben wofür diese Animationen bestimmt sind. Die angegebene Datei haben wir ja bereits exportiert. Im Gegensatz zu den Animationen des Menschen brauchen wir hier die ersten 2 Animationen nicht, da sich hier an der Glocke noch nichts bewegt. In „S_S0“ steht der Mensch an der Glocke und ist bereit zu läuten. „S_S1“ ist der Loop des Läutens. „T_S0_2_S1“ sowie „T_S1_2_S0“ sind die Übergänge vom Stehen zum Läuten und andersherum wobei eine der Animationen ohne Probleme die erste rückwärtslaufend sein kann. Zum Schluss schließen wir den Animationscode durch „}“ ab und speichern die Datei in unserem Beispiel als „GLOCKE_LOA.mds“ und auf jeden Fall immer im Verzeichnis „_work/data/anims/mds_mobsi/“.

3. Einbauen und Testen des Mobs

Jetzt sind alle Scripte definiert und wir können zum Testen übergehen. Wir starten unseren Spacer und fügen ein Mobinter wahlweise mit „glocke_mesh.ASC“ oder „GLOCKE_LOA.mds“ als Visual ein.
edit by Golden Age:
Bei animierten Mobs MUSS man die mds angeben, da sich bei der ASC das Mob nicht bewegt und nur die Menschenanimation ausgeführt wird.
Bei Mobs ohne eigene Animationen immer über die „.asc“. Wer Lust hat schreibt jetzt noch einen Fokusnamen dazu und dann wird die zen auch schon gespeichert. Bevor wir starten und testen können, müssen wir sicherstellen, dass die humans.mds mit den neuen Animationen geparsed wird. Hierzu löschen wir im anims/compiled Verzeichnis die humans.msb und starten unsere Ini über dem Gothicstarten mit Häckchen bei „Skripte parsen“.
Achtung!!! Das Parsen der gothic.dat über den Spacer reicht hier nicht aus.
Nun wird die humans.mds geparsed und ihr solltet ohne Probleme euer Mobsi benutzen können. Bei Problemen ist ZSpy wie immer ein guter Freund und ihr könnt nachsehen welche Animationen eventuell nicht gefunden wurden.

Fertige *.max Datei der Glocke

So nun wünsche ich euch viel Spaß mit vielen neuen Mobs. Verbessert, ergänzt und erweitert dieses Tutorial bitte woimmer es geht wir haben selbst noch nicht viel Erfahrung mit Mobs gesammelt.

Gruß

Stefajo und Black Eye

tutorials/mobsi_tutorial.txt · Zuletzt geändert: 2016/12/30 21:33 von milky-way