Assimp lädt keine Bones
Verfasst: 23.08.2014, 15:15
Nach ein paar Tagen debugging habe ich letztendlich herausgefunden, dass in meinem Vertexshader keine Boneweights ankommen. Und dass die Matrizen die ich seit Tagen anschaue scheinbar doch ziemlich richtig sind.
Das Problem an der Sache ist jetzt: Assimp scheint überhaupt keine Bones zu laden. Der entsprechende Eintrag in aiMesh ist einfach leer. Ich habe das Commandline-Tool benutzt und den XML-Dump angeschaut und dort sind weit und breit keine Bones zu sehen (im Gegensatz zu den Dumps von Modellen, die funktionieren - es scheint soweit also alles in Ordnung zu sein).
Das eigentlich interessante ist aber, dass sowohl der Assimp-Viewer, als auch OpenMod3D das Modell mitsamt Animationen korrekt anzeigen. Nach etwas nachforschen habe ich dann herausgefunden, dass die einzelnen Nodes auch Verweise auf Submeshs haben können, wodurch dann wohl einfach das gesamte Mesh transformiert wird.
Die Frage ist jetzt: Spricht etwas dagegen, dass intern in Weights zu konvertieren (das wäre eigentlich auch ein ganz netter PostPro-Schritt, wie mir gerade einfällt), oder kann ich damit an anderen Stellen Probleme bekommen? Kann es beispielsweise vorkommen, dass beides benutzt wird?
Das Problem an der Sache ist jetzt: Assimp scheint überhaupt keine Bones zu laden. Der entsprechende Eintrag in aiMesh ist einfach leer. Ich habe das Commandline-Tool benutzt und den XML-Dump angeschaut und dort sind weit und breit keine Bones zu sehen (im Gegensatz zu den Dumps von Modellen, die funktionieren - es scheint soweit also alles in Ordnung zu sein).
Das eigentlich interessante ist aber, dass sowohl der Assimp-Viewer, als auch OpenMod3D das Modell mitsamt Animationen korrekt anzeigen. Nach etwas nachforschen habe ich dann herausgefunden, dass die einzelnen Nodes auch Verweise auf Submeshs haben können, wodurch dann wohl einfach das gesamte Mesh transformiert wird.
Die Frage ist jetzt: Spricht etwas dagegen, dass intern in Weights zu konvertieren (das wäre eigentlich auch ein ganz netter PostPro-Schritt, wie mir gerade einfällt), oder kann ich damit an anderen Stellen Probleme bekommen? Kann es beispielsweise vorkommen, dass beides benutzt wird?