Benutzer-Werkzeuge

Webseiten-Werkzeuge


Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
tutorials:morphmesh [2015/08/18 22:16]
127.0.0.1 Externe Bearbeitung
tutorials:morphmesh [2016/12/30 20:59] (aktuell)
milky-way update formatierung
Zeile 1: Zeile 1:
-Sich bewegende ​bzw. animierte Meshes ​in Gothic ​= +====== Morphmeshes ====== 
-Anders als bei zCMovern bei denen die Gothic Engine ein starres Objekt bewegt oder bei Bone-Animationen bei denen Knochen/​Bones und die den Knochen/​Bones zugeordneten Polygone bewegt werden wird bei Morphmeshes jedes Polygon einzelnd verschoben. Wegen der Performance sollte man sich auf einfache Animationen mit wenig Poylgonen und wenig Frames beschränken. Außerdem gibts bei Morphmehes keine Kolisionserkennung. Für einige Dinge ist das ideal (Grässer, Fische im Wasser, Windmühlenräder),​ für andere wie Tore oder NPCs sind Morphanis aber ungeeignet. Das Beispielwindmühlrad kann man zum selber testen ​[http://​wiki.worldofgothic.de/​images/​bilder/​harri/​Muehle.rar ​downloaden]. ​+ 
 +Ein Morphmesh ist ein sich bewegendes ​bzw. animiertes Mesh in Gothic
 + 
 +Anders als bei zCMovern bei denen die Gothic Engine ein starres Objekt bewegt oder bei Bone-Animationen bei denen Knochen/​Bones und die den Knochen/​Bones zugeordneten Polygone bewegt werden wird bei Morphmeshes jedes Polygon einzelnd verschoben. Wegen der Performance sollte man sich auf einfache Animationen mit wenig Poylgonen und wenig Frames beschränken. Außerdem gibts bei Morphmehes keine Kolisionserkennung. Für einige Dinge ist das ideal (Grässer, Fische im Wasser, Windmühlenräder),​ für andere wie Tore oder NPCs sind Morphanis aber ungeeignet. Das Beispielwindmühlrad kann man zum selber testen ​downloaden: ​http://​wiki.worldofgothic.de/​images/​bilder/​harri/​Muehle.rar ​
  
 Allgemeines Vorgehn: Allgemeines Vorgehn:
-*1. In 3dsMax ein Morphmesh erstellen +  - In 3dsMax ein Morphmesh erstellen 
-*2. Entsprechend exportieren +  ​- ​Entsprechend exportieren 
-*3. Das Script dazu schreiben +  ​- ​Das Script dazu schreiben 
-*4. Im Spacer einfügen+  ​- ​Im Spacer einfügen 
 + 
 +=====  Morphmesh erstellen =====
  
-== Morphmesh erstellen == 
 Ein Morphmesh wird durch eine Kopie von sich selbst gesteuert. Dazu brauch wir ein Mesh was so aussieht wie das was sich in Gothic bewegen soll. Hierbei ist es egal wie die Bewegung aussehen soll. Die Perfektion liegt an dem Geschick dessen der es animiert (Übungssache). Ein Morphmesh wird durch eine Kopie von sich selbst gesteuert. Dazu brauch wir ein Mesh was so aussieht wie das was sich in Gothic bewegen soll. Hierbei ist es egal wie die Bewegung aussehen soll. Die Perfektion liegt an dem Geschick dessen der es animiert (Übungssache).
 Ein Mesh läst sich auf verschiedene weise animieren. ​ Ein Mesh läst sich auf verschiedene weise animieren. ​
 z.B.: über ein Bones-Verknüpfungen z.B.: über ein Bones-Verknüpfungen
-[[Bild harri/​image001.gif a:harri/image002.gif]]+{{ :tutorials:​image002.gif?​direct&​300 |}}
 oder: oder:
 mit Space Warps (z.B: Welle) mit Space Warps (z.B: Welle)
-*dies unterscheidet sich lediglich in der Art der Animation +  ​*dies unterscheidet sich lediglich in der Art der Animation 
-*alles andere ist äquivalent zu nachfolgenden Beschreibung +  *alles andere ist äquivalent zu nachfolgenden Beschreibung 
-[[Bild harri/​image003.gif a:harri/image004.gif]]+{{ :tutorials:​image004.gif?​direct&​300 |}}
  
 Da ich zu ersteren die Datei mitliefere schenk ich mir die Erklärung wie man ein Mesh (hier das Windrad) baut. Da ich zu ersteren die Datei mitliefere schenk ich mir die Erklärung wie man ein Mesh (hier das Windrad) baut.
-*Windrad (oder was auch immer) bauen - ich nenne es Rad +  ​*Windrad (oder was auch immer) bauen - ich nenne es Rad 
-*Dieses Kopieren und als Zm_Rad benennen (Zm_  muß auf jeden Fall voran stehen) +  *Dieses Kopieren und als Zm_Rad benennen (Zm_  muß auf jeden Fall voran stehen) 
-*Zm_Rad markieren ausblenden - brauchen wir später +  *Zm_Rad markieren ausblenden - brauchen wir später 
-*aus dem Menü Bones wählen +  *aus dem Menü Bones wählen 
-*mit dem Cursor die Mitte des Rades anklicken +  *mit dem Cursor die Mitte des Rades anklicken 
-*dann Bones in die gewünschte Richtung und Länge ziehen (Rand des Windrades) +  *dann Bones in die gewünschte Richtung und Länge ziehen (Rand des Windrades) 
-[[Bild harri/​image005.gif a:harri/image006.gif]] +{{ :tutorials:​image006.gif?​direct&​300 |}} 
-*mit der rechten Mousetaste abklicken +  *mit der rechten Mousetaste abklicken 
-*den "​Anhängsel-Bones"​ kann man weglöschen +  *den "​Anhängsel-Bones"​ kann man weglöschen 
-*Das auf 4 mal Komplettieren. (Bild siehe oben) +  *Das auf 4 mal Komplettieren. (Bild siehe oben) 
-*Auf Rad den Modifikator Haut anwenden +  *Auf Rad den Modifikator Haut anwenden 
-[[Bild harri/​image007.gif a:harri/image008.gif]] +{{ :tutorials:​image008.gif?​direct&​300 |}} 
-[[Bild harri/​image009.gif a:harri/image010.gif]] +{{ :tutorials:​image010.gif?​direct&​300 |}} 
-*Hülle - Hülle bearbeiten - Bones hinzufügen - alle Bones auswählen +  *Hülle - Hülle bearbeiten - Bones hinzufügen - alle Bones auswählen 
-[[Bild harri/image012.gif]] +{{ :tutorials:image012.gif?nolink |}} 
-*(Die Mühle kann man schließlich auch auswählen und verdecken. Ist hier eh bloß zur verbesserten Anschauung gedacht!) +  *(Die Mühle kann man schließlich auch auswählen und verdecken. Ist hier eh bloß zur verbesserten Anschauung gedacht!) 
-*Nun können die einzelnen Bones ausgewählt werden und die Querschnitte so verändert werden (durch Verschieben in einer bestimmten Achse - aus Richtung Zentrum-Bones (hier y) werden diese skaliert), das ALLE Scheitelpunkte des Rades erwischt werden (sind dann rot markiert). +  *Nun können die einzelnen Bones ausgewählt werden und die Querschnitte so verändert werden (durch Verschieben in einer bestimmten Achse - aus Richtung Zentrum-Bones (hier y) werden diese skaliert), das ALLE Scheitelpunkte des Rades erwischt werden (sind dann rot markiert). 
-[[Bild harri/​image013.gif a:harri/image014.gif]]+{{ :tutorials:​image014.gif?​direct&​300 |}}
 Animation: Animation:
-*alle Bones auswählen +  ​*alle Bones auswählen 
-*Anim. - Aktivieren (Key-Zähler-Balken wird rot) +  *Anim. - Aktivieren (Key-Zähler-Balken wird rot) 
-*Key-Zähler auf die Mitte (hier 50) schieben +  *Key-Zähler auf die Mitte (hier 50) schieben 
-*Bones drehen um 180°  +  *Bones drehen um 180°  
-[[Bild harri/​image015.gif a:harri/image016.gif]] +{{ :tutorials:​image016.gif?​direct&​300 |}} 
-*Key-Zähler zum Ende (hier 100) schieben +  *Key-Zähler zum Ende (hier 100) schieben 
-*Und um Bones um weitere 180° drehen(natürlich in die gleich Richtung;​)) +  *Und um Bones um weitere 180° drehen(natürlich in die gleich Richtung;​)) 
-*Anim. wieder deaktivieren +  *Anim. wieder deaktivieren 
-*Sollte das Rad sich nicht sauber mitdrehen (z.B. verzerren) ist bei der Operation Haut nicht das vollständige Mesh erfasst worden. Das kann man aber auch noch nachträglich ausbessern.+  *Sollte das Rad sich nicht sauber mitdrehen (z.B. verzerren) ist bei der Operation Haut nicht das vollständige Mesh erfasst worden. Das kann man aber auch noch nachträglich ausbessern.
 //Ok, ist keine schwere Animation, aber den User sind hier keine Grenzen gesetzt ;)// //Ok, ist keine schwere Animation, aber den User sind hier keine Grenzen gesetzt ;)//
-*Ausgewählte Bones gleich verdecken +  ​*Ausgewählte Bones gleich verdecken 
-*Zm_Rad einblenden und auswählen +  *Zm_Rad einblenden und auswählen 
-*Animations-Modifikaroren:​ Morpher wählen +  *Animations-Modifikaroren:​ Morpher wählen 
-*Am einfachsten mehrere Ziele laden und dann das Rad auswählen - laden +  *Am einfachsten mehrere Ziele laden und dann das Rad auswählen - laden 
-[[Bild harri/image018.gif]] +{{ :tutorials:image018.gif?nolink |}} 
-*__Ziele automatisch neu laden__ aktivieren +  *__Ziele automatisch neu laden__ aktivieren 
-*Morph-Facktor auf __100%__ einstellen +  *Morph-Facktor auf __100%__ einstellen 
-*(bei anderen Animationen kann man auch unter 100 bleiben - somit kann man eventuell die Amplitute der Animation ändern. Bei einer 360°-Drehung ist aber unbedingt 100 einzustellen.) +  *(bei anderen Animationen kann man auch unter 100 bleiben - somit kann man eventuell die Amplitute der Animation ändern. Bei einer 360°-Drehung ist aber unbedingt 100 einzustellen.) 
-[[Bild harri/​image019.gif a:harri/image020.gif]]+{{ :tutorials:​image020.gif?​direct&​300 |}}
 So, nun müsste man alles außer Zm_Rad verdecken können (dürfte nur das Rad sein) und zur besseren Show die Mühle wieder einblenden und Animation abspielen lassen können. So, nun müsste man alles außer Zm_Rad verdecken können (dürfte nur das Rad sein) und zur besseren Show die Mühle wieder einblenden und Animation abspielen lassen können.
 Das Zm_Rad sollte sich nun drehen. Das Zm_Rad sollte sich nun drehen.
-== Export ==+===== Export ​=====
 Mesh-Export:​ Mesh-Export:​
-*Zm_Rad markieren +  ​*Zm_Rad markieren 
-*__Datei/​Auswahl exportieren...__ anklicken +  *__Datei/​Auswahl exportieren...__ anklicken 
-*Dateityp: __ZenGinASC Exporter (*.ASC)__ wählen (die richtigen Plugins sollte man aber schon installiert haben) +  *Dateityp: __ZenGinASC Exporter (*.ASC)__ wählen (die richtigen Plugins sollte man aber schon installiert haben) 
-*Dateiname: z.B.: __RAD_MESH.ASC__ -> Speichern +  *Dateiname: z.B.: __RAD_MESH.ASC__ -> Speichern 
-*Gothic-Path: ​__[Gothic]\\_work\\DATA\\Anims\\asc_anims\\MOBS\\__ (es kann auch in einem anderen Unterverzeichnis als in MOBS stehen) +  *Gothic-Path: ​''​[Gothic]\_work\DATA\Anims\asc_anims\MOBS\'' ​(es kann auch in einem anderen Unterverzeichnis als in MOBS stehen) 
-[[Bild harri/image022.gif]] +{{ :tutorials:image022.gif?nolink |}} 
-*__Export Morph Mesh__ anklicken und mit __OK__ bestätigen +  *__Export Morph Mesh__ anklicken und mit __OK__ bestätigen 
-[[Bild harri/image024.gif]]+{{ :tutorials:image024.gif?​direct&​300 |}}
 Ani-Export: Ani-Export:
-*Zm_Rad markieren (ist ja noch) +  ​*Zm_Rad markieren (ist ja noch) 
-*__Datei/​Auswahl exportieren...__ +  *__Datei/​Auswahl exportieren...__ 
-*Dateityp: __ZenGinASC Exporter (*.ASC)__ wählen (ist ja noch) +  *Dateityp: __ZenGinASC Exporter (*.ASC)__ wählen (ist ja noch) 
-*Dateiname: z.B.: __RAD_MORPH.ASC__ -> Speichern +  *Dateiname: z.B.: __RAD_MORPH.ASC__ -> Speichern 
-*__Export Morph Animation__ anklicken und mit __OK__ bestätigen +  *__Export Morph Animation__ anklicken und mit __OK__ bestätigen 
-[[Bild harri/image026.gif]]+{{ :tutorials:image026.gif?​direct&​300 |}}
 3dsMax kann man nun eigentlich schließen (Arbeit speichern versteht sich von selbst) 3dsMax kann man nun eigentlich schließen (Arbeit speichern versteht sich von selbst)
  
  
-== Script ==+===== Script ​=====
 <​code>​ <​code>​
 morphMesh ("​Rad_MORPH"​) morphMesh ("​Rad_MORPH"​)
Zeile 93: Zeile 97:
 </​code>​ </​code>​
 Hier wer ich nicht all zu viel dazu sagen Hier wer ich nicht all zu viel dazu sagen
-*Bei anderen Scripts einfach die entsprechenden anderen Dateinamen eingeben +  ​*Bei anderen Scripts einfach die entsprechenden anderen Dateinamen eingeben 
-*0 99 (von bis)  ist die Anzahl der Frames die 100 wird weggelassen,​ da sie ja mit der 0 identisch ist +  *0 99 (von bis)  ist die Anzahl der Frames die 100 wird weggelassen,​ da sie ja mit der 0 identisch ist 
-*SPD:​3 ​ ist die Geschwindigkeit mit der die ani abgespielt wird - am besten testen bis die gewünschte Geschwindigkeit stimmt. +  *SPD:​3 ​ ist die Geschwindigkeit mit der die ani abgespielt wird - am besten testen bis die gewünschte Geschwindigkeit stimmt. 
-*Abspeichern:​ z.B.: __rad.mms__ unter: __[Gothic]\\_work\\DATA\\Anims\\[belibiges Unterverzeichnis]\\__ +  *Abspeichern:​ z.B.: __rad.mms__ unter: __[Gothic]\_work\DATA\Anims\[belibiges Unterverzeichnis]\__ 
-== Im Spacer einfügen ==+===== Im Spacer einfügen ​=====
 Ein Nachteil bei zVobAnimate ist, das diese statisch nicht fest sind. Der Player kann also durchlaufen (kann man natürlich auch als Vorteil sehen z.B.: bei einer Wiese). Ein Nachteil bei zVobAnimate ist, das diese statisch nicht fest sind. Der Player kann also durchlaufen (kann man natürlich auch als Vorteil sehen z.B.: bei einer Wiese).
 Ein Anderer, sie können im Spacer nicht durch ihr Visual markieren kann sondern nur in der Vobliste und komischerweise sind sie beim einfügen nicht in der Position wie in max, aber das kann man ja mit den Steuerungstasten ausgleichen - drehen. Ein Anderer, sie können im Spacer nicht durch ihr Visual markieren kann sondern nur in der Vobliste und komischerweise sind sie beim einfügen nicht in der Position wie in max, aber das kann man ja mit den Steuerungstasten ausgleichen - drehen.
 Meine Empfehlung ist daher ein zVobAnimate an ein kleines vob z.B.: ein Stein so anzuhängen das dieser nicht stört bzw. später zu sehen ist. Dieser läst sich wenigstens im Spacerfenster markieren und  dient dazu das zVobAnimate damit in die richtige Position zu schieben - drehen. Meine Empfehlung ist daher ein zVobAnimate an ein kleines vob z.B.: ein Stein so anzuhängen das dieser nicht stört bzw. später zu sehen ist. Dieser läst sich wenigstens im Spacerfenster markieren und  dient dazu das zVobAnimate damit in die richtige Position zu schieben - drehen.
-*Träger-vob einfügen +  ​*Träger-vob einfügen 
-*Einen signifikanten Namen geben z.B.: RAD (damit er später besser wieder aufzufinden ist) +  *Einen signifikanten Namen geben z.B.: RAD (damit er später besser wieder aufzufinden ist) 
-*zVobAnimate aus dem Objects-fenster wählen +  *zVobAnimate aus dem Objects-fenster wählen 
-[[Bild harri/image028.gif]] +{{ :tutorials:image028.gif?nolink |}} 
-*Mit der rechten Mousetaste auf den Träger-vob (RAD) klicken +  *Mit der rechten Mousetaste auf den Träger-vob (RAD) klicken 
-[[Bild harri/​image029.gif a:harri/image030.gif]] +{{ :tutorials:​image030.gif?​direct&​300 |}} 
-*__Insert [zVobAnimate] as child of "​RAD"​__ wählen +  *__Insert [zVobAnimate] as child of "​RAD"​__ wählen 
-*Als visual dann den namen des Morphmeshscripts eingeben(z.b. __rad.mms__) und __apply__ drücken +  *Als visual dann den namen des Morphmeshscripts eingeben(z.b. __rad.mms__) und __apply__ drücken 
-[[Bild harri/image032.gif]] +{{ :tutorials:image032.gif?nolink |}} 
-*Das zVobAnimate gleich in eine zum Träger-Vob (child) günstige Position schieben z.B.: Anfang der Radnabe = Mitte Stein +  *Das zVobAnimate gleich in eine zum Träger-Vob (child) günstige Position schieben z.B.: Anfang der Radnabe = Mitte Stein 
-*Nun kann man den Stein markieren und mit samt dem Windrad so drehen das es die gewünschte Position hat. +  *Nun kann man den Stein markieren und mit samt dem Windrad so drehen das es die gewünschte Position hat. 
-*Der weitere Vorteil dieser Methode ist, das man nun durch den Stein ein Vobtree Speichern kann und diesen dann je nach belieben und schon in der fast richtigen Position wieder an anderer Stelle in der World einfügen kann (per __Insert vobtree__). +  *Der weitere Vorteil dieser Methode ist, das man nun durch den Stein ein Vobtree Speichern kann und diesen dann je nach belieben und schon in der fast richtigen Position wieder an anderer Stelle in der World einfügen kann (per __Insert vobtree__). 
-[[Bild harri/​image033.gif a:harri/image034.gif]]+{{ :tutorials:​image034.gif?​direct&​300 |}}
  
 Viel Spaß beim Modden ​ Viel Spaß beim Modden ​
- 
-- Harri 
tutorials/morphmesh.1439928979.txt.gz · Zuletzt geändert: 2016/02/09 00:09 (Externe Bearbeitung)