AWS Thinkbox Discussion Forums

Maya scene with referencing does not submit render layers as separate jobs

I have some scenes that have referencing and referenced render layers in them.

When I submit the job, the “Submit Render Layers As Separate Jobs” box is checked, but greyed out.

The Frame List field is active, whereas when submitting jobs that have no referencing and with “Submit Render Layers As Separate Jobs” checked, it is normally greyed out.

The job submits as a single job, with no separate render layers. Render layers are output, but without the control and visibility of the separate jobs option.

Is this a bug or a feature, and is there any way to fix this beyond importing references before rendering (I know this is a best practice anyway, however there are reasons it’s difficult for me to do this). Thanks.

It’s a feature, and it’s so old it pre-dates me (8+ years).

If I recall correctly, there were problems with this in Maya a very long time ago and I’m not entirely clear on what those issues were. If you want to force it anyway, you’ll have to do some rocket surgery on the submitter code. Know that this is one of those unsupported things, so your mileage may vary and it’s probably a bad idea. :slight_smile:

Start by backing up “[repo]/submission/Maya/Main/SubmitMayaToDeadline.mel” somewhere and open it in a text editor.

It looks like most of that code is driven by this function at line 1191 (in Deadline 9.0.5):

// Returns if render layers is on.
global proc int IsRenderLayersOn()
{
	string $renderLayers[] = `listConnections renderLayerManager.renderLayerId`;
	return ( size($renderLayers) > 1);
}

So, change that return line to read “return true;” and you should be good to go.

Now, reading what that says there, it looks like we’re making sure the renderLayerManager has layers. I feel like imported render layers may not be indexable and this whole experiment is going to break, but who knows? This also seems pretty familiar to me, but I didn’t find any reference to IsRenderLayersOn() in our support system and here on the forums there was just an unrelated bug report.

Thanks, Edwin, I have forwarded this to our IT people.

I have a followup question/problem on this topic.

I have a scene that has both native and referenced render layers in it (not an ideal scenario and one I’ll generally avoid, but that’s how this job ended up). When I try to submit the job, I get a message like this:

The following renderable referenced layers will not be submitted with the job:
PSVR_:PSVR_UTILITY_PASSES
PSVR_:PSVR_FLOOR_REFL_NORMALS
PSVR_:PSVR_FLOOR_REF
PSVR_:PSVR_BUMP_REFL
PSVR_:PSVR

Are you sure you want to submit this job?

At the moment I am getting this message whether the native layers are turned on or not. Currently I have no workaround for this, and importing breaks the referenced render layers so I’m not able to render this scene as intended. I do not get this error in a scene that has referenced render layers in it only.

Suggestions?

The fact that it’s aware and asking makes me think there may be an error here… Can you check to see if there’s an error in the script listener.

Just for anyone who might not know, that’s the button in the lower right labelled “{;}”

I don’t see any errors.

FWIW I rebuilt the scene using all references and the error went away. Might be useful in the future to know if there’s a fix for this though.

If you can ever manage to reproduce it and pass over a test scene I can pass it off to the dev team. I’ll try and remember to ask some of the senior dev folks why referenced render layers aren’t supported that well. I’m sure it was a Maya issue originally, I’m just not sure if it’s still that way years later.

Hi Edwin,

Just as a followup, I’ve passed on your post and the code you supplied to our IT guys, but so far they have not had a chance to test it.

So far as giving you a test scene – I can’t do that but I can tell you it’s as simple as creating a scene with render layers, then referencing that scene into another one and rendering from that. I’m using Vray with “Use Referenced” turned on in the Render Elements tab of Render Settings, although I don’t think render passes ought to have any effect at all on how render layers themselves function.

I’ve also dug around quite a bit in Deadline looking for a way to specify a render layer from within Deadline. In most other render managers I’ve used there has been one to enter a simple -rl myRenderLayer type flag, but Deadline doesn’t have one. There’s a couple of fields that appear to accept pre-render scripts, but they seem to be for Python only and my skills aren’t up to it using that.

So, the problem remains – Deadline works fine and renders our referenced render layers, but does it all in one monolithic job so we have no control over each layer.

Privacy | Site terms | Cookie preferences