Problems with Render Layers and References


We have a medium sized project at work approaching render time, very character animation heavy, and we are getting a lot of errors when we set up render passes. We are working in Maya 2008, with mostly mental ray passes.

We are lighting a file that has a file with the character animation referenced in, and the environment referenced in from a separate file.

When we set up a render layer with material overrides, maya fails to connect the new shader, and the object gets a blue wireframe even in shaded mode, and it fails to render.

Any help would be appreciated, I had never really seen maya do something like this, I feel like it has to be something with the references…

Thanks in advance!



edit: nevermind, I thought you were working with the actual render pass system at first, not the layers.


what Vr u use ?

I tihnk that was fixed in 2009 Sp1.


Hi Vayne, we had that problem a lot in Maya 2008 and unfortunately never found a great solution for it besides reapplying the material, saving and hoping for the best. Render layers + references system was just flaky… good news is I haven’t seen that error at all in Maya 2009.


sorry forgot to say it, but yes this is maya 2008, and unfortunetly we don’t have 2009 licenses for all the machines yet :\

And we never found a solution, we just kind are using a work around. It only glitches out when make a new layer, so we are simply using the master layer and just sending each layer to the farm as its own file. This works OK anyways because if a frame errors, its only that one file instead of that frame on every pass. Win some loose some :slight_smile: Got to get the project finished and out the door so no real choice. Just a bummer 2008 is so broken.


it might be a little late to fix this problem easily but here’s how it works:

-build all your render layers and shading assignments inside each referenced file. all of your references should be using render layers named exactly the same way if you want the references to render together in the final scene. make sure your masterLayer has a generic lambert (not lambert1) applied to all surfaces. and make sure there’s no per-face shading.

-in your render scene, create these same render layers. when you create references, turn on Shared Nodes and Share Render Layers (by name). the objects being referenced in will look for render layers named the same as the layers they have, and merge into them. if you see any render layers with namespaces, it means your render scene doesn’t have a matching layer.

-don’t do any shading assignments or render layer assignments (with the exception of layer overrides) in your render scene at all. that all happens in the references.

-if a layer by chance breaks, unload the reference, clean it (right-click > file > clean up reference) and then reload it.

i know it seems like a lot of work but once you get used to this pipeline it’s pretty easy to follow, and broken render layers become super easy to fix.


thanks so much for the fix! and although we won’t be able to use it on this project its definitely not too late for the next :slight_smile:


A quick update also on this subject, we were using assets that were given to us by a game developer, and files came over with nodes for the lighting engine turtle. The nodes would get created, get locked, and vanish from the file till we go to render or reference in an animation and everything would break. It caused a lot of headaches but now we simply have to go in and comment out a few lines of the .ma file that create the nodes and also check to see if the plugin is loaded.

Its very strange though, the nodes that get made never show up in the file if you do a “select -r …”

the lines we ended up commenting out of the files were:

requires “TurtleForMaya80” “”;
createNode unknown -s -n “TurtleBakeLayerManager”;
createNode unknown -s -n “TurtleDefaultBakeLayer”;

anyways long story short there was allllllll kinds of sloppy files that got referenced in and really started causing problems.:shrug: Next time I guess we will export out an obj in an attempt to clean up the game assets…


in the future if you are importing from something like turtle you can prevent crashes by deleting “unknown” nodes in the scene:

string $what[] = ls -type unknown;
for($i=0;$i<size($what);$i++) {
print("deleting: “);

you’d have to run this on each reference but it will clean out nasty things that other programs can leave behind

e-- oops, didn’t see that turtle actually locks those nodes. this script wouldn’t work, then. i’ll leave it up cause it helps for similar problems though.


This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.