| quote: |
Original von DasMatze
OK, Danke!
Ein paar Sachen sind mir noch beim Importer aufgefallen:
- Entweder habe ich eine solche Funktion übersehen ansonsten fände ich sie praktisch: Wenn man eine Animation.xml geladen hat sollte man aus der vielleicht auch die Namen der Bones auslesen können, damit man keinen Fehler begeht.
|
Doppelclick oder E, dann kann man den Animationsnamen, Koordinatensystem und Bonenamen ändern. Dazu werden letztere auch angezeigt
| quote: |
Original von DasMatze
- Shared Textures werden nicht erkannt beim Installieren des Sets. Wenn ich sie per Hand dorthin kopiere, bekomme ich im Spiel trotzdem die grüne Splat-Textur. Muss die TextureOvl einen besonderen Namen haben? |
Hm seltsam, hast Du mit dem Prefix im Create Scenery Fenster gearbeitet? Da steht in den Notes etwas dazu drin. Am Code der Textur-OVLs automatisch kopiert habe ich nichts geändert.
| quote: |
Original von DasMatze
- Wenn man ein animiertes Model erstellt hat und (wie ich es meistens mache) in der ASE noch mehr (statische) models hat, an die man die gerade geladene xml anpassen möchte, damit man nicht alles neu einstellen muss, bekommt man bei einen Doppelklick auf die eingetragenen LODs für das animierte Model den "blabla hat ein Problem festgestellt und muss beendet werden" Dialog zu sehen. Dasselbe Spiel geht umgekehrt auch. Ich denke zwar nicht, dass außer mir irgendwer zwei oder mehr models in eine ASE packt um Zeit zu sparen, aber dennoch wäre es toll, wenn es abstürzen würde.
|
Tut's doch, was willst Du mehr?
Im ernst, ich verstehe nicht ganz, was Du machst. Stelle mir bitte die Dateien zusammen, schick sie mir und sag mir Schritt-für-Schritt wie ich den Absturz erreiche.
| quote: |
Original von DasMatze
Bei meinem CFR bekomme ich mehrere Fehler wie "unknown tag 'rawovl' in rawovl or subovl tag' oder einfach nur 'Error in xml file'. Ich denke ich warte besser damit, bis das so konform ist wie der Importer. Wenn ich bedenke, dass Animationen auch erst nur über eine Kommadozeile möglich waren und jetzt mit in den Importer eingebaut wurden, denke ich schon, dass das irgendwann einfacher wird.
Den Befehl "--novalid" kennt OVLMake übrigens nicht. |
Bist Du sicher, dass Du ovlmake 0.4 verwendest?
| quote: |
Original von DasMatze
Das mit den leeren Matrices verstehe ich leider nicht so ganz (da ich nur auf system fix (fixed orientation) geklickt habe, was ja sicherlich noch nach wie vor notwendig ist). |
Ok, Schritt für Schritt.
- Das Problem besteht bei der pos1 Matrix von Bones, nicht bei der Modelltrasformationsmatrix
- Der Matrixstack der Pos1 Matrix darf nicht leer sein, d.H. man muss sie (momentan) editieren und eine Matrix in die Liste setzen. Das sollte eine Einheitsmatrix sein, die man wie ich beschriben habe erzeugt.
- Die System-Fix Matrices haben ausgedient. Man sollte dafür nur noch mit den Koordinatensystemeinstellungen arbeiten.
| quote: |
Original von DasMatze
Noch etwas: Ist es eigentlich möglich eine Animation zu erstellen, bei der etwas sich nicht um eine der drei Achsen dreht ohne den Bone mittels eines weiteren Bones vorher zur Seite zu neigen, sondern zB. so wie die Schraube bei der Rio Grande Station in Fort Fun:
http://commons.wikimedia.org/wiki/Image:...n_Schrauben.jpg |
Ja, das ist möglich. Da wirds aber von Hand beliebig haarig. Das modxml-Format unterstützt drei Formate von Rotationskeyframes.
Zum einen Eulerwinkel, das heißt die Winkel werden in x->y->z Reihenfolge angewendet. Das ist die Voreinstellung da am "intuitivsten", funktioniert aber nur problemlos wenn man simple Animationen macht oder sehr vorsichtig ist.
Zum zweiten Quaternions. Gleich wieder vergessen, das kann man nicht sinnvoll von Hand machen, ist aber das "native" Format von Rotationskeyframes in Blender.
Drittens das RCT3-Achsen/Vektorformat. Dazu muß man in jedem (model->animation->)bone Element das Attribut rotationformat="axis" hinzufügen. Das ist auch nicht einfach von Hand, aber Du wolltest es ja wissen =)
Zunächst brauchst Du einen Vektor, der die Achse definiert, um die Du drehen willst (z.B. <1 / 0 / 0> wäre die X-Achse). Der Vektor muss ein Einheitsvektor (Vektor der Länge 1) sein.
Dann brauchst Du den Rotationswinkel in Radianten.
Um x/y/z für die Keyframes zu erhalten, multiplizierst Du die entsprechende Koordinate des Achsenvektors mit dem Rotationswinkel.
| quote: |
Original von DasMatze
Ist dafür vielleicht die zweite Matrix da um damit die Achsen zu verdrehen? Denn bisher hieß es, man soll die beiden gleich lassen (oder im Importer nun weglassen), wodurch es für mich heißt, das zwei Punkte auf der gleichen Stelle liegen, wobei ich mir denke, dass der zweite da sein könnte, um die Achsen auszurichten. Ich brauche so eine Animation im Moment nicht, aber das würde mich mal interessieren. |
Nein. Pos1 ist die Ruheposition des Bones relativ zu seinem Parent (im Parentraum), Pos2 ist seine Ruheposition im Objektraum.