Jetzt habe ich einen .x-Exporter gefunden, der zumindest nicht zusammen bricht. Er sieht auch professioneller aus und funktioniert nach eigener Angabe mit den neusten Blenderversionen. Assimp hat beim Importieren aber Probleme, da es ein ; erwartet in Zeile 36 bzw. zwei. Ausschnitt:
Code: Alles auswählen
FrameTransformMatrix {
1.000000,0.000000,0.000000,0.000000,
0.000000,-0.000000,1.000000,0.000000,
0.000000,-1.000000,-0.000000,0.000000,
-0.000000,0.092654,0.284519,1.000000, // es geht aber eher hier drum
} // Zeile 36
Das gibt der Exporter aus, aber Assimp mag das nicht.
Code: Alles auswählen
FrameTransformMatrix {
1.000000,0.000000,0.000000,0.000000,
0.000000,-0.000000,1.000000,0.000000,
0.000000,-1.000000,-0.000000,0.000000,
-0.000000,0.092654,0.284519,1.000000;; // doppeltes Semikolon klappt
}
Das akzeptiert Assimp. Ist das zu wenig Toleranz seitens Assimp oder ist das so nicht ok? Ich beginne Mal damit den Exporter umzuschreiben, aber wenn das eigentlich kein Problem sein sollte, wäre es natürlich praktisch, wenn Assimp da keine Probleme hat. :)
Edit:
Okay, jetzt habe ich herausgefunden, dass bei dem AnimationKey-Tag Assimp drei Semikolons erwartet, während der Exporter halt nur zwei ausspuckt. Und bei den übrigen Zeilen ist ;;, statt ;; nötig Also:
Code: Alles auswählen
AnimationKey { //Rotation
0;
3;
0;4; -0.561604,-0.089752,0.012046,-0.822435;; // hier hätte Assimp gerne noch ein , danach
13;4; -0.566666,-0.006849,-0.033871,-0.823223;; // ibid.
27;4; -0.561604,-0.089752,0.012046,-0.822435;; // hier hätte Assimp gerne ein ; mehr (Edit2: ein , geht auch!)
}
Danke!
Edit 3:
Also ich konnte ein animiertes .blend-Modell jetzt erfolgreich mit Blender 2.49 unter Verwendung von Python 2.6 exportieren, sodass ich es mit AssimpView laden und animieren kann. Ich habe einfach ein Skript bissel abgeändert und et voila (mit Akzent auf irgendeinem Buchstaben). Wenn das jemand gerne haben möchte, kann er mir schreiben. Das Copyright liegt nicht bei mir, ich habe es nur geändert. Oder meint ihr, keiner sagt was, wenn ich das hochlade? Jedenfalls ist die Originalquelle die folgende:
http://forum.thegamecreators.com/?m=for ... 166987&p=0
Edit 4:
Und jetzt hab ich ein .x-Modell (von .blend exportiert), was bei AssimpView zu folgender Fehlermeldung führt:
" Error, T5724: Validation failed: aiNodeAnim::mPositionKeys[0].mTime (4294967296.00000) is larger than aiAnimation::mDuration (which is 159.00000) "
In der Datei selbst hab ich keine Zeitangabe gefunden, irgendwo scheint ein Überlauf statt gefunden zu haben. Hier ist der Link:
http://mihahome.de/elypson/Downloads/othu0000023.x