From b90f54943b527fd98b808a3b4ca8be405a2ff367 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Tue, 12 Apr 2022 13:11:43 +0200 Subject: [PATCH] =?UTF-8?q?fixes=20=F0=9F=90=A9=20and=20optimize=20renderm?= =?UTF-8?q?an=20prefix=20condition?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- openpype/hosts/maya/plugins/create/create_render.py | 4 +++- .../maya/plugins/publish/validate_rendersettings.py | 13 ++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/openpype/hosts/maya/plugins/create/create_render.py b/openpype/hosts/maya/plugins/create/create_render.py index 4d3e6dc9f5..13bfe1bf37 100644 --- a/openpype/hosts/maya/plugins/create/create_render.py +++ b/openpype/hosts/maya/plugins/create/create_render.py @@ -84,7 +84,9 @@ class CreateRender(plugin.Creator): 'mentalray': 'maya///{aov_separator}', # noqa 'vray': 'maya///', 'arnold': 'maya///{aov_separator}', # noqa - 'renderman': '_..', # this needs `imageOutputDir` set separately + # this needs `imageOutputDir` + # (/renders/maya/) set separately + 'renderman': '_..', 'redshift': 'maya///' # noqa } diff --git a/openpype/hosts/maya/plugins/publish/validate_rendersettings.py b/openpype/hosts/maya/plugins/publish/validate_rendersettings.py index 966ebac95a..92aa3af05a 100644 --- a/openpype/hosts/maya/plugins/publish/validate_rendersettings.py +++ b/openpype/hosts/maya/plugins/publish/validate_rendersettings.py @@ -116,16 +116,23 @@ class ValidateRenderSettings(pyblish.api.InstancePlugin): prefix = prefix.replace( "{aov_separator}", instance.data.get("aovSeparator", "_")) + + required_prefix = "maya/" + + if renderer == "renderman": + # renderman has prefix set differently + required_prefix = "/renders/{}".format(required_prefix) + if not anim_override: invalid = True cls.log.error("Animation needs to be enabled. Use the same " "frame for start and end to render single frame") - if not prefix.lower().startswith("maya/") and \ - renderer != "renderman": + if not prefix.lower().startswith(required_prefix): invalid = True cls.log.error("Wrong image prefix [ {} ] - " - "doesn't start with: 'maya/'".format(prefix)) + "doesn't start with: '{}'".format( + prefix, required_prefix)) if not re.search(cls.R_LAYER_TOKEN, prefix): invalid = True