Seite 1 von 1

[Assimp]Blender Collada Problem

Verfasst: 30.05.2011, 21:51
von neon
Hallo,

da ich jetzt versuche Skeletan Animation in meine Engine einzubauen, brauche ich Testmodelle.
Assimp 2.0 verwendende ich als Converter für mein eigenes Format, leider bin ich schon seit Stunden auf der Suche nach Modellen, die ich aus Blender richtig exportieren kann, ohne dass es mit Assimp Probleme gibt. Ich denke das Problem liegt auf der Seite von Blender, da ich gehört habe, die Exporter sind dort nicht optimal.

Ein Beispiel:
sehr einfaches, rigged Model, das als Testmodel gut geeignet wäre:
http://www.blendswap.com/3D-models/characters/pointer/
wenn ich das Teil aber von Blender in .dae exportiere(File->export->Collada unter Blender 2.57) und versuche es mit Assimp zu konvertieren, bekomme ich als Fehler:
"Error: Collada: pointer/pointer.dae - Expected opening element".

Bei anderen Modellen verhält sich genauso, nur das ich manchmal als Fehler das hier kriege: "Error: Collada: Expected more values while reading float_array
contents.".

Kennt jemand eine Lösung? Oder vielleicht ein anderes Zwischenformat, das Bones unterstützt und aus Blender gut exportiertbar ist, um es unter Assimp zu verwenden?

Viellen Dank
neon

Re: [Assimp]Blender Collada Problem

Verfasst: 31.05.2011, 08:02
von Brainsmith
Wenn du in Blender eine Armature exportieren willst, solltest du vorher sicherstellen, dass du kein Iverse Kinematics - Rig hast. Das kann Blender nämlich nicht exportieren.
Falls du doch eines hast, kannst du zum exportieren die Animation baken:

1. Leertaste
2. "Bake Action" eintippen und anklicken
3 Frames aussuchen und OK drücken

Vielleicht löst das ja schon dein Problem. Auch wenn wenige das DirectX-Format benutzen, kann es Bones mit Animationen beinhalten.

Aber Vorsicht, ich habe mir den Exporter mal angeschaut. Wenn du Dein Modell an das Rig geparented hast, exportiert der nicht richtig, sofern du Selected Objects auswählst. Ist ziemlich lästig. Du müsstest unparenten, aber die Animation behalten. Alternativ könnte ich dir auch den gefixten Exporter geben.
Zusätzlich dazu erstellt der Exporter für jedes(!!!) Dreieck auch 3 Vertices, unabhängig davon, ob man Softedges hat oder nicht. Das haben wir im Nachhinein gelöst, indem wir die überflüssigen raussuchen und löschen/substituieren. Das machen wir allerdings mit einem externen Programm.

Re: [Assimp]Blender Collada Problem

Verfasst: 31.05.2011, 21:24
von neon
Hab kein Iverse Kinematics rig, ich habe nochmal bei vielen anderen Modellen probiert, kriege die Meldung: "Expected opening element".

Bei 5 ridged Modellen, die ich probiert habe nach .x zu exportieren, stürtzt mein Konverter an der stelle "importer.ReadFile..." ab, mit dem Debugger konnte ich keine gescheitere Fehlerquelle finden.

Ich schaue mal ob ich mit anderen Modellern als Blender bessere Exportergebnisse kriege, oder ob ich rigged Collada Modelle, oder was Assimp unterstützt, im Netz finde.

Re: [Assimp]Blender Collada Problem

Verfasst: 31.05.2011, 21:34
von Aramis
Wenn es *in* Assimp crashed, koenntest du mir die betreffenden Dateien mal zuschicken, dann gucke ich nach der Crash-Ursache. Das aendert aber nichts daran, dass Assimp aktuell schlicht und einfach keine Animationen aus BLEND-Dateien importiert. Steht aber auf der TODO, allerdings steht auf der so manches.

Re: [Assimp]Blender Collada Problem

Verfasst: 31.05.2011, 21:50
von neon
Der Crash war bei der DirectX .x Datei, blend files benutze ich nicht im Konverter.
Welches Format wird von Assimp zur Zeit am besten unterstützt?

Re: [Assimp]Blender Collada Problem

Verfasst: 31.05.2011, 22:35
von Aramis
Collada sollte fuer Animationen am besten geeignet sein, danach (in dieser Reihenfolge) X, MS3D und MD5.

Re: [Assimp]Blender Collada Problem

Verfasst: 01.06.2011, 09:26
von Schrompf
Alternativ kannst Du die Testmodelle auch mir schicken: thomas (bei) dreamworlds (pkt) de - sowohl den Collada-Loader als auch den XFile-Loader habe in weiten Strecken ich verbrochen.