From 289c0ffa060f4df41895c76055bfbac2930da1c4 Mon Sep 17 00:00:00 2001 From: Seyedmohammadreza Hashemizadeh Date: Thu, 6 Apr 2023 18:35:09 +0200 Subject: [PATCH 1/3] remove defautl cameras from renderable cameras --- openpype/hosts/maya/api/workfile_template_builder.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/openpype/hosts/maya/api/workfile_template_builder.py b/openpype/hosts/maya/api/workfile_template_builder.py index d65e4c74d2..e8d5fc4bfd 100644 --- a/openpype/hosts/maya/api/workfile_template_builder.py +++ b/openpype/hosts/maya/api/workfile_template_builder.py @@ -45,6 +45,13 @@ class MayaTemplateBuilder(AbstractTemplateBuilder): cmds.sets(name=PLACEHOLDER_SET, empty=True) new_nodes = cmds.file(path, i=True, returnNewNodes=True) + # make default cameras non-renderable + default_cameras = [u'perspShape'] + for cam in default_cameras: + if not cmds.objExists("{}.renderable".format(cam)): + continue + cmds.setAttr("{}.renderable".format(cam), 0) + cmds.setAttr(PLACEHOLDER_SET + ".hiddenInOutliner", True) imported_sets = cmds.ls(new_nodes, set=True) From 6f57d567e45cbd3f3ca12c7b09c036f5b66d6123 Mon Sep 17 00:00:00 2001 From: Seyedmohammadreza Hashemizadeh Date: Fri, 7 Apr 2023 12:36:56 +0200 Subject: [PATCH 2/3] get default cameras from maya --- openpype/hosts/maya/api/workfile_template_builder.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openpype/hosts/maya/api/workfile_template_builder.py b/openpype/hosts/maya/api/workfile_template_builder.py index e8d5fc4bfd..d91fb1e83a 100644 --- a/openpype/hosts/maya/api/workfile_template_builder.py +++ b/openpype/hosts/maya/api/workfile_template_builder.py @@ -46,7 +46,8 @@ class MayaTemplateBuilder(AbstractTemplateBuilder): new_nodes = cmds.file(path, i=True, returnNewNodes=True) # make default cameras non-renderable - default_cameras = [u'perspShape'] + default_cameras = [cam for cam in cmds.ls(cameras=True) + if cmds.camera(cam, query=True, startupCamera=True)] for cam in default_cameras: if not cmds.objExists("{}.renderable".format(cam)): continue From 9cbcef4fd9d3883a13f62c0e24cb28463af499e4 Mon Sep 17 00:00:00 2001 From: Seyedmohammadreza Hashemizadeh Date: Fri, 7 Apr 2023 14:58:03 +0200 Subject: [PATCH 3/3] apply suggetion. use attribute query --- openpype/hosts/maya/api/workfile_template_builder.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openpype/hosts/maya/api/workfile_template_builder.py b/openpype/hosts/maya/api/workfile_template_builder.py index d91fb1e83a..81fc54fe6f 100644 --- a/openpype/hosts/maya/api/workfile_template_builder.py +++ b/openpype/hosts/maya/api/workfile_template_builder.py @@ -49,7 +49,10 @@ class MayaTemplateBuilder(AbstractTemplateBuilder): default_cameras = [cam for cam in cmds.ls(cameras=True) if cmds.camera(cam, query=True, startupCamera=True)] for cam in default_cameras: - if not cmds.objExists("{}.renderable".format(cam)): + if not cmds.attributeQuery("renderable", node=cam, exists=True): + self.log.debug( + "Camera {} has no attribute 'renderable'".format(cam) + ) continue cmds.setAttr("{}.renderable".format(cam), 0)