diff --git a/io_scene_a3d/A3DBlenderExporter.py b/io_scene_a3d/A3DBlenderExporter.py index 0f3f922..7e5d875 100644 --- a/io_scene_a3d/A3DBlenderExporter.py +++ b/io_scene_a3d/A3DBlenderExporter.py @@ -79,11 +79,11 @@ class A3DBlenderExporter: transformParentIDs = [] for ob in self.objects: parentOB = ob.parent - if (parentOB == None) or (ob.name not in transforms): + if (parentOB == None) or (parentOB.name not in transforms): transformParentIDs.append(0) #XXX: this is only for version 2 else: - parentIndex = list(transforms.keys()).index(ob.name) - transformParentIDs.append(parentIndex) + parentIndex = list(transforms.keys()).index(parentOB.name) + transformParentIDs.append(parentIndex+1) self.modelData.materials = materials.values() self.modelData.meshes = meshes diff --git a/io_scene_a3d/A3DBlenderImporter.py b/io_scene_a3d/A3DBlenderImporter.py index c0be3c2..7635340 100644 --- a/io_scene_a3d/A3DBlenderImporter.py +++ b/io_scene_a3d/A3DBlenderImporter.py @@ -71,11 +71,11 @@ class A3DBlenderImporter: for obI, ob in enumerate(objects): # Assign parents parentID = self.modelData.transformParentIDs[obI] - if parentID == 0 and self.modelData.version < 3: + if self.modelData.version < 3: # version 2 models use 0 to signify empty parent - continue - elif parentID == -1: - # version 3 models use -1 to signify empty parent + parentID -= 1 + if parentID == -1: + # empty parent continue parentOB = objects[parentID] ob.parent = parentOB