mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-02 00:44:52 +01:00
Fixed a problem when loading the same object multiple times
This commit is contained in:
parent
acf4c8bf19
commit
6ad2daeee9
2 changed files with 9 additions and 5 deletions
|
|
@ -78,13 +78,13 @@ class BlendModelLoader(plugin.AssetLoader):
|
|||
|
||||
for obj in objects:
|
||||
local_obj = plugin.prepare_data(obj, group_name)
|
||||
if obj.type != 'EMPTY':
|
||||
if local_obj.type != 'EMPTY':
|
||||
plugin.prepare_data(local_obj.data, group_name)
|
||||
|
||||
for material_slot in local_obj.material_slots:
|
||||
plugin.prepare_data(material_slot.material, group_name)
|
||||
|
||||
if not obj.get(AVALON_PROPERTY):
|
||||
if not local_obj.get(AVALON_PROPERTY):
|
||||
local_obj[AVALON_PROPERTY] = dict()
|
||||
|
||||
avalon_info = local_obj[AVALON_PROPERTY]
|
||||
|
|
@ -92,6 +92,8 @@ class BlendModelLoader(plugin.AssetLoader):
|
|||
|
||||
objects.reverse()
|
||||
|
||||
bpy.data.orphans_purge(do_local_ids = False)
|
||||
|
||||
bpy.ops.object.select_all(action='DESELECT')
|
||||
|
||||
return objects
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ class BlendRigLoader(plugin.AssetLoader):
|
|||
for obj in objects:
|
||||
local_obj = plugin.prepare_data(obj, group_name)
|
||||
|
||||
if obj.type == 'MESH':
|
||||
if local_obj.type == 'MESH':
|
||||
plugin.prepare_data(local_obj.data, group_name)
|
||||
|
||||
if obj != local_obj:
|
||||
|
|
@ -102,7 +102,7 @@ class BlendRigLoader(plugin.AssetLoader):
|
|||
for material_slot in local_obj.material_slots:
|
||||
if material_slot.material:
|
||||
plugin.prepare_data(material_slot.material, group_name)
|
||||
elif obj.type == 'ARMATURE':
|
||||
elif local_obj.type == 'ARMATURE':
|
||||
plugin.prepare_data(local_obj.data, group_name)
|
||||
|
||||
if action is not None:
|
||||
|
|
@ -118,7 +118,7 @@ class BlendRigLoader(plugin.AssetLoader):
|
|||
for t in v.targets:
|
||||
t.id = local_obj
|
||||
|
||||
if not obj.get(AVALON_PROPERTY):
|
||||
if not local_obj.get(AVALON_PROPERTY):
|
||||
local_obj[AVALON_PROPERTY] = dict()
|
||||
|
||||
avalon_info = local_obj[AVALON_PROPERTY]
|
||||
|
|
@ -126,6 +126,8 @@ class BlendRigLoader(plugin.AssetLoader):
|
|||
|
||||
objects.reverse()
|
||||
|
||||
bpy.data.orphans_purge(do_local_ids = False)
|
||||
|
||||
bpy.ops.object.select_all(action='DESELECT')
|
||||
|
||||
return objects
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue