feat(nuke): improving render knobs

This commit is contained in:
Jakub Jezek 2020-10-05 15:46:36 +02:00
parent 91585519b2
commit 2082e4bb6e
No known key found for this signature in database
GPG key ID: C4B96E101D2A47F3
2 changed files with 19 additions and 19 deletions

View file

@ -431,13 +431,9 @@ def add_rendering_knobs(node):
node (obj): with added knobs
'''
if "render" not in node.knobs():
knob = nuke.Boolean_Knob("render", "Render")
knob = nuke.Enumeration_Knob("render", "Render", [
"Do Not Render", "Locally", "On Farm"])
knob.setFlag(0x1000)
knob.setValue(False)
node.addKnob(knob)
if "render_farm" not in node.knobs():
knob = nuke.Boolean_Knob("render_farm", "Render on Farm")
knob.setValue(False)
node.addKnob(knob)
return node

View file

@ -76,19 +76,23 @@ class CollectNukeInstances(pyblish.api.ContextPlugin):
if node.Class() == "Group":
# only alter families for render family
if "write" in families_ak:
if node["render"].value():
self.log.info("flagged for render")
add_family = "{}.local".format("render")
# dealing with local/farm rendering
if node["render_farm"].value():
self.log.info("adding render farm family")
add_family = "{}.farm".format("render")
instance.data["transfer"] = False
families.append(add_family)
if "render" in families:
families.remove("render")
family = "write"
target = node["render"].value()
if target == "Do Not Render":
# Local rendering
self.log.info("flagged for no render")
families.append("render")
elif target == "Locally":
# Local rendering
self.log.info("flagged for local render")
families.append("{}.local".format("render"))
elif target == "On Farm":
# Farm rendering
self.log.info("flagged for farm render")
instance.data["transfer"] = False
families.append("{}.farm".format("render"))
if "render" in families:
families.remove("render")
family = "write"
node.begin()
for i in nuke.allNodes():