diff --git a/openpype/hosts/maya/plugins/publish/collect_arnold_scene_source.py b/openpype/hosts/maya/plugins/publish/collect_arnold_scene_source.py index f160a3a0c5..1bacd80f11 100644 --- a/openpype/hosts/maya/plugins/publish/collect_arnold_scene_source.py +++ b/openpype/hosts/maya/plugins/publish/collect_arnold_scene_source.py @@ -25,11 +25,18 @@ class CollectArnoldSceneSource(pyblish.api.InstancePlugin): members = cmds.ls(members, long=True) children = get_all_children(members) instance.data["contentMembers"] = children + # TODO: include another instance.data for content members + instance.data["contentMembersTransform"] = members self.log.debug("content members: {}".format(children)) + self.log.debug("content members Transform : {}".format(members)) elif objset.endswith("proxy_SET"): - set_members = get_all_children(cmds.ls(members, long=True)) + proxy_members = cmds.ls(members, long=True) + set_members = get_all_children(proxy_members) instance.data["proxy"] = set_members + instance.data["proxyTransform"] = proxy_members + # TODO: include another instance.data for proxy self.log.debug("proxy members: {}".format(set_members)) + self.log.debug("proxy members Transform: {}".format(proxy_members)) # Use camera in object set if present else default to render globals # camera. diff --git a/openpype/hosts/maya/plugins/publish/extract_arnold_scene_source.py b/openpype/hosts/maya/plugins/publish/extract_arnold_scene_source.py index 14bcc71da6..9ed475e20f 100644 --- a/openpype/hosts/maya/plugins/publish/extract_arnold_scene_source.py +++ b/openpype/hosts/maya/plugins/publish/extract_arnold_scene_source.py @@ -69,9 +69,10 @@ class ExtractArnoldSceneSource(publish.Extractor): "camera": instance.data["camera"], "mask": mask } - + # TODO: dont use instance.data["contentMembers"] + # but use the new instance.data["contentMemberTransforms"] filenames, nodes_by_id = self._extract( - instance.data["contentMembers"], attribute_data, kwargs + instance.data["contentMembersTransform"], attribute_data, kwargs ) if "representations" not in instance.data: @@ -109,8 +110,10 @@ class ExtractArnoldSceneSource(publish.Extractor): return kwargs["filename"] = file_path.replace(".ass", "_proxy.ass") + # TODO: dont use instance.data["proxy"] + # but use the new instance.data["proxyTransforms"] filenames, _ = self._extract( - instance.data["proxy"], attribute_data, kwargs + instance.data["proxyTransform"], attribute_data, kwargs ) representation = { @@ -187,7 +190,7 @@ class ExtractArnoldSceneSource(publish.Extractor): self.log.info( "Extracting ass sequence with: {}".format(kwargs) ) - + # arnoldExportAss -selected needs an active selection or a list of objects exported_files = cmds.arnoldExportAss(**kwargs) for file in exported_files: