diff --git a/io_scene_3ds/import_3ds.py b/io_scene_3ds/import_3ds.py index f39fe0e5e6e906e50d802a204dd22cd8a0a263b7..d8ecb12f0d4f92a021049c9b4fb8420f03b53660 100644 --- a/io_scene_3ds/import_3ds.py +++ b/io_scene_3ds/import_3ds.py @@ -755,12 +755,16 @@ def process_next_chunk(file, previous_chunk, importedObjects, IMAGE_SEARCH): putContextMesh(contextMesh_vertls, contextMesh_facels, contextMeshMaterials) # Assign parents to objects + # check _if_ we need to assign first because doing so recalcs the depsgraph for ind, ob in enumerate(object_list): parent = object_parent[ind] if parent == ROOT_OBJECT: - ob.parent = None + if ob.parent is not None: + ob.parent = None else: - ob.parent = object_list[parent] + if ob.parent != object_list[parent]: + ob.parent = object_list[parent] + # pivot_list[ind] += pivot_list[parent] # XXX, not sure this is correct, should parent space matrix be applied before combining? # fix pivots for ind, ob in enumerate(object_list):