We just recently updated to the latest version of Deadline and are now experiencing issues when submitting. It appears that deadline will sometimes generate all the folders for the Render Elements. These outputs can be see in the Submission Params dialog of the Job Properties of Deadline Monitor. Does anyone know how we can prevent this from happening? We are using deadline to render. I can confirm that the render elements output paths are empty at time of submission and even in the max file that is used to render on the farm. I double checked. So I’m not sure how these extra paths end up in the job properties.
I’ve attached and image showing the error and what a correct submission should look like in our scenario.
Could you check and report the values of all SMTDSettings properties whose names start with “RenderElements” ?
E.g.
for p in getPropNames SMTDSettings where matchPattern (p as string) pattern:"RenderElements*" do
format "%=%\n" (p as string) (getProperty SMTDSettings p)
(be sure to modify to use your own mxs.SMTDSetting, obviously)
How is the render output defined - in the 3ds Max render output, or in the renderer’s own VFB (e.g. VRay)? I assume you are expecting all RenderElements to end up as layers in the EXR, and the submitter is including the output paths it thinks the render elements would save to regardless?
Once the rendering is done, does anything appear in those folders, or do they remain empty?
Is the problem the extra empty folders you need to delete, or does Deadline fail elsewhere?
Looking further into the SMTDFunctions code handling VRay VFB output, it has the following logic:
We check to see if the current renderer is vray or vrayrt, and the .output_on property is TRUE.
If the renderer’s .output_splitbuffer is TRUE, AND .output_useram is also TRUE (if memory frame buffer is disabled, the split option is also disabled)…
… then we assume “Separate Render Channels” were requested, and then we output each render elements’ filename as individual output path, as long as the property .vrayVFB of the render element exists and is TRUE.
So you should check to see if the VRay VFB settings actually call for Render Elements to be split or not according to the above logic. The problem is either in the renderer’s settings, or in how we handle them. Let’s see which one is the source of this issue…
I opened the maxfile that caused the issue and found that none of those Vray settings were set to be True in the render dialog. Nor was the filepath set in the first tab of the max dialog. All the render element output paths were empty as well, since the render was using Vray with embedded exr output.
The only path set in the render dialog was the vray output.
Ok, so the code says if VRay .output_on is FALSE, then the ELSE codeblock is executed where we first collect any render elements that might be going out as EXR layers via the regular Render Output, and then we skip them, but do a generic loop to dump any other render element paths to the file.
You said “none of the VRay properties were TRUE”. In that case, if .output_on was FALSE, then the code did the right thing.