roy's comment

This commit is contained in:
Kayla Man 2023-06-21 18:48:25 +08:00
parent 1c2955a90a
commit 29c8cfe992

View file

@ -23,19 +23,9 @@ class CollectArnoldSceneSource(pyblish.api.InstancePlugin):
self.log.warning("Skipped empty instance: \"%s\" " % objset)
continue
if objset.endswith("content_SET"):
children = get_all_children(members)
instance.data["contentMembers"] = children + members
self.log.debug(
"content members: {}".format(
instance.data["contentMembers"]
)
)
elif objset.endswith("proxy_SET"):
children = get_all_children(cmds.ls(members, long=True))
instance.data["proxy"] = children + members
self.log.debug(
"proxy members: {}".format(instance.data["proxy"])
)
instance.data["contentMembers"] = self.get_hierarchy(members)
if objset.endswith("content_SET"):
instance.data["proxy"] = self.get_hierarchy(members)
# Use camera in object set if present else default to render globals
# camera.
@ -54,3 +44,13 @@ class CollectArnoldSceneSource(pyblish.api.InstancePlugin):
self.log.debug("No renderable cameras found.")
self.log.debug("data: {}".format(instance.data))
def get_hierarchy(self, nodes):
"""Return nodes with all their children"""
nodes = cmds.ls(nodes, long=True)
if not nodes:
return []
children = get_all_children(nodes)
# Make sure nodes merged with children only
# contains unique entries
return list(set(nodes + children))