use getLastMergedNodes() in max_scene loader

This commit is contained in:
Kayla Man 2023-06-19 15:40:44 +08:00
parent 971f682dfc
commit a2525bf9bb

View file

@ -22,12 +22,8 @@ class MaxSceneLoader(load.LoaderPlugin):
path = os.path.normpath(self.fname)
# import the max scene by using "merge file"
path = path.replace('\\', '/')
merge_before = set(rt.RootNode.Children)
rt.MergeMaxFile(path)
merge_after = set(rt.RootNode.Children)
max_objects = merge_after.difference(merge_before)
max_objects = rt.getLastMergedNodes()
max_container = rt.Container(name=f"{name}")
for max_object in max_objects:
max_object.Parent = max_container
@ -40,15 +36,14 @@ class MaxSceneLoader(load.LoaderPlugin):
path = get_representation_path(representation)
node_name = container["instance_node"]
instance_name, _ = node_name.split("_")
merge_before = set(rt.RootNode.Children)
rt.MergeMaxFile(path,
rt.Name("noRedraw"),
rt.Name("deleteOldDups"),
rt.Name("useSceneMtlDups"))
merge_after = set(rt.EootNode.Children)
max_objects = merge_after.difference(merge_before)
container_node = rt.GetNodeByName(instance_name)
max_objects = rt.getLastMergedNodes()
container_node = rt.GetNodeByName(node_name)
for max_object in max_objects:
max_object.Parent = container_node