-
Bastien Montagne authored
There were two issues here: I) Since an object can only have *one* parent, it it gets created only during its parent's creation, we could end in situation where we would be creating an armature that would need its 'fake' children mesh objects, before we have actually created this mesh object (which would only happen during creation of the only armature that would be its *real* parent). This was solved by decoupling object creation/instancing and creation of objets' relationships. II) We were only storing one set of binding data (matrices) per mesh, which obviously failed when binding several armatures to a single mesh. Simply fixed by storing one set of binding data per mesh per armature. FBX can store on set of binding matrices per mesh per bone, but this is not supported by Blender!
Bastien Montagne authoredThere were two issues here: I) Since an object can only have *one* parent, it it gets created only during its parent's creation, we could end in situation where we would be creating an armature that would need its 'fake' children mesh objects, before we have actually created this mesh object (which would only happen during creation of the only armature that would be its *real* parent). This was solved by decoupling object creation/instancing and creation of objets' relationships. II) We were only storing one set of binding data (matrices) per mesh, which obviously failed when binding several armatures to a single mesh. Simply fixed by storing one set of binding data per mesh per armature. FBX can store on set of binding matrices per mesh per bone, but this is not supported by Blender!