fixing the issue of duplciated contents during switching assets

This commit is contained in:
Kayla Man 2023-09-13 21:18:30 +08:00
parent bdaeb3c92f
commit 8c890641ad
5 changed files with 11 additions and 12 deletions

View file

@ -79,9 +79,9 @@ class FbxLoader(load.LoaderPlugin):
fbx_object.name = f"{namespace}:{fbx_object.name}"
if fbx_object in node_list:
fbx_object.pos = transform_data[
f"{fbx_object.name}.transform"] or fbx_object.pos
f"{fbx_object.name}.transform"] or 0
fbx_object.scale = transform_data[
f"{fbx_object.name}.scale"] or fbx_object.scale
f"{fbx_object.name}.scale"] or 0
with maintained_selection():
rt.Select(node)

View file

@ -60,8 +60,7 @@ class MaxSceneLoader(load.LoaderPlugin):
# delete old duplicate
# use the modifier OP data to delete the data
node_list = get_previous_loaded_object(node)
rt.Select(node_list)
prev_max_objects = rt.GetCurrentSelection()
prev_max_objects = rt.getLastMergedNodes()
transform_data = object_transform_set(prev_max_objects)
for prev_max_obj in prev_max_objects:
if rt.isValidNode(prev_max_obj): # noqa
@ -77,9 +76,9 @@ class MaxSceneLoader(load.LoaderPlugin):
max_obj.name = f"{namespace}:{obj_name}"
if max_obj in node_list:
max_obj.pos = transform_data[
f"{max_obj.name}.transform"] or max_obj.pos
f"{max_obj.name}.transform"] or 0
max_obj.scale = transform_data[
f"{max_obj.name}.scale"] or max_obj.scale
f"{max_obj.name}.scale"] or 0
lib.imprint(container["instance_node"], {
"representation": str(representation["_id"])
})

View file

@ -73,9 +73,9 @@ class FbxModelLoader(load.LoaderPlugin):
fbx_object.name = f"{namespace}:{fbx_object.name}"
if fbx_object in node_list:
fbx_object.pos = transform_data[
f"{fbx_object.name}.transform"] or fbx_object.pos
f"{fbx_object.name}.transform"] or 0
fbx_object.scale = transform_data[
f"{fbx_object.name}.scale"] or fbx_object.scale
f"{fbx_object.name}.scale"] or 0
with maintained_selection():
rt.Select(node)

View file

@ -68,9 +68,9 @@ class ObjLoader(load.LoaderPlugin):
selection.name = f"{namespace}:{selection.name}"
if selection in node_list:
selection.pos = transform_data[
f"{selection.name}.transform"] or selection.pos
f"{selection.name}.transform"] or 0
selection.scale = transform_data[
f"{selection.name}.scale"] or selection.scale
f"{selection.name}.scale"] or 0
update_custom_attribute_data(node, selections)
with maintained_selection():
rt.Select(node)

View file

@ -93,9 +93,9 @@ class ModelUSDLoader(load.LoaderPlugin):
usd_objects.append(children)
if children in node_list:
children.pos = transform_data[
f"{children.name}.transform"] or children.pos
f"{children.name}.transform"] or 0
children.scale = transform_data[
f"{children.name}.scale"] or children.scale
f"{children.name}.scale"] or 0
asset.name = f"{namespace}:{asset.name}"
usd_objects.append(asset)