State:New|TargetRelease:No Target|icon_bug|icon_nuke|database:public|Resolution:Fixed|BugID:253605|
Problem summary
Nuke render sessions error when an error view is not rendered if the view has a filter or transform node applied.
Customer reported version
nuke.10.0v5
Customer reported platform
n_a_linux
Steps to reproduce
1) Open the attached Nuke script
2) Set the Write node to render to a local drive and save a Nuke script
3) Render the Nuke script using the below command:
<Nuke> -x --view main erroredView.nk 1
4) The Nuke script will error. Disable the Blur node, then save and render the script again. This time it will render.
Workaround
Split and Join the views, and add Switch nodes to disabled errored inputs. An example Python script to do this is below:
def create_viewsplitswitchjoin():
views = nuke.views()
if len(views) < 2:
nuke.message("Only one view, nothing to split and rejoin.")
return
sel = nuke.selectedNode()
if sel == None:
nuke.message("You need to select a node to split views from and rejoin.")
return
oneViewNodes = []
switchNodes = []
for i in views:
n = nuke.createNode("OneView", inpanel=False)
n.knob("label").setValue(i)
oneViewNodes.append(n)
s = nuke.createNode("Switch", inpanel=False)
s.knob("label").setValue(i)
s.knob("which").setExpression("this.error")
switchNodes.append(s)
selx = sel.knob("xpos").getValue()
sely = sel.knob("ypos").getValue()
join = nuke.createNode("JoinViews", inpanel=False)
for idx in range(0, len(oneViewNodes)):
oneViewNodes[idx].knob("view").setValue(idx + 1)
oneViewNodes[idx].setInput(0, sel)
oneViewNodes[idx].knob("xpos").setValue(selx + idx * 100 - (len(oneViewNodes)-1)*50)
oneViewNodes[idx].knob("ypos").setValue(sely + 90)
switchNodes[idx].setInput(0, oneViewNodes[idx])
switchNodes[idx].knob("xpos").setValue(selx + idx * 100 - (len(switchNodes)-1)*50)
switchNodes[idx].knob("ypos").setValue(sely + 130)
join.setInput(idx, switchNodes[idx])
join.knob("xpos").setValue(selx)
join.knob("ypos").setValue(sely + 220)
create_viewsplitswitchjoin()
Reproduced by supportWe're sorry to hear that
Please tell us why