mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 08:24:53 +01:00
fixing the issue of duplciated contents during switching assets
This commit is contained in:
parent
bdaeb3c92f
commit
8c890641ad
5 changed files with 11 additions and 12 deletions
|
|
@ -79,9 +79,9 @@ class FbxLoader(load.LoaderPlugin):
|
||||||
fbx_object.name = f"{namespace}:{fbx_object.name}"
|
fbx_object.name = f"{namespace}:{fbx_object.name}"
|
||||||
if fbx_object in node_list:
|
if fbx_object in node_list:
|
||||||
fbx_object.pos = transform_data[
|
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[
|
fbx_object.scale = transform_data[
|
||||||
f"{fbx_object.name}.scale"] or fbx_object.scale
|
f"{fbx_object.name}.scale"] or 0
|
||||||
|
|
||||||
with maintained_selection():
|
with maintained_selection():
|
||||||
rt.Select(node)
|
rt.Select(node)
|
||||||
|
|
|
||||||
|
|
@ -60,8 +60,7 @@ class MaxSceneLoader(load.LoaderPlugin):
|
||||||
# delete old duplicate
|
# delete old duplicate
|
||||||
# use the modifier OP data to delete the data
|
# use the modifier OP data to delete the data
|
||||||
node_list = get_previous_loaded_object(node)
|
node_list = get_previous_loaded_object(node)
|
||||||
rt.Select(node_list)
|
prev_max_objects = rt.getLastMergedNodes()
|
||||||
prev_max_objects = rt.GetCurrentSelection()
|
|
||||||
transform_data = object_transform_set(prev_max_objects)
|
transform_data = object_transform_set(prev_max_objects)
|
||||||
for prev_max_obj in prev_max_objects:
|
for prev_max_obj in prev_max_objects:
|
||||||
if rt.isValidNode(prev_max_obj): # noqa
|
if rt.isValidNode(prev_max_obj): # noqa
|
||||||
|
|
@ -77,9 +76,9 @@ class MaxSceneLoader(load.LoaderPlugin):
|
||||||
max_obj.name = f"{namespace}:{obj_name}"
|
max_obj.name = f"{namespace}:{obj_name}"
|
||||||
if max_obj in node_list:
|
if max_obj in node_list:
|
||||||
max_obj.pos = transform_data[
|
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[
|
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"], {
|
lib.imprint(container["instance_node"], {
|
||||||
"representation": str(representation["_id"])
|
"representation": str(representation["_id"])
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -73,9 +73,9 @@ class FbxModelLoader(load.LoaderPlugin):
|
||||||
fbx_object.name = f"{namespace}:{fbx_object.name}"
|
fbx_object.name = f"{namespace}:{fbx_object.name}"
|
||||||
if fbx_object in node_list:
|
if fbx_object in node_list:
|
||||||
fbx_object.pos = transform_data[
|
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[
|
fbx_object.scale = transform_data[
|
||||||
f"{fbx_object.name}.scale"] or fbx_object.scale
|
f"{fbx_object.name}.scale"] or 0
|
||||||
|
|
||||||
with maintained_selection():
|
with maintained_selection():
|
||||||
rt.Select(node)
|
rt.Select(node)
|
||||||
|
|
|
||||||
|
|
@ -68,9 +68,9 @@ class ObjLoader(load.LoaderPlugin):
|
||||||
selection.name = f"{namespace}:{selection.name}"
|
selection.name = f"{namespace}:{selection.name}"
|
||||||
if selection in node_list:
|
if selection in node_list:
|
||||||
selection.pos = transform_data[
|
selection.pos = transform_data[
|
||||||
f"{selection.name}.transform"] or selection.pos
|
f"{selection.name}.transform"] or 0
|
||||||
selection.scale = transform_data[
|
selection.scale = transform_data[
|
||||||
f"{selection.name}.scale"] or selection.scale
|
f"{selection.name}.scale"] or 0
|
||||||
update_custom_attribute_data(node, selections)
|
update_custom_attribute_data(node, selections)
|
||||||
with maintained_selection():
|
with maintained_selection():
|
||||||
rt.Select(node)
|
rt.Select(node)
|
||||||
|
|
|
||||||
|
|
@ -93,9 +93,9 @@ class ModelUSDLoader(load.LoaderPlugin):
|
||||||
usd_objects.append(children)
|
usd_objects.append(children)
|
||||||
if children in node_list:
|
if children in node_list:
|
||||||
children.pos = transform_data[
|
children.pos = transform_data[
|
||||||
f"{children.name}.transform"] or children.pos
|
f"{children.name}.transform"] or 0
|
||||||
children.scale = transform_data[
|
children.scale = transform_data[
|
||||||
f"{children.name}.scale"] or children.scale
|
f"{children.name}.scale"] or 0
|
||||||
|
|
||||||
asset.name = f"{namespace}:{asset.name}"
|
asset.name = f"{namespace}:{asset.name}"
|
||||||
usd_objects.append(asset)
|
usd_objects.append(asset)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue