References and render layers

297 views
Skip to first unread message

John Coldrick

unread,
Dec 18, 2014, 6:59:24 PM12/18/14
to maya...@googlegroups.com
This is an ancient topic, I know.  :)

We're running Maya 2015, we're using Shotgun toolkit to publish Maya scenes as assets which we reference into the shot scenes.  The trouble, which from what I read has been there for many years, is that mixing references and render layers in the lighting file is just a time bomb waiting to go off.  The moment an update to the model alters the data, any overrides in the render layers breaks, and you start all over again assigning your overrides.  So this is what I'm thinking we'll do to avoid the pain, based on what I've read and some testing:

Create the render layers, with their override materials or object memberships, in the asset, rather than trying to override in the lighting file.

Reference this into the lighting file, with merge render layers(only) enabled.  This brings in the render layers from the asset.

I've tested this and it seems to version update just fine, everything works.  The downside of this is really, you don't have just a single asset anymore, you tend to tweak that asset for a particular shot, so this means you're creating different flavours of assets per shot, at least some of the time.  Feels sloppy.  There's also other annoyances, like Deadline not allowing you to submit separate tasks per render layer, which makes render order tweaking impossible.

So, my question is - how does everyone else deal with this in a pipeline environment?  We're in a situation where having a pipeline person full time writing glue code isn't going to happen in the near future, so really this is almost like "does Autodesk expect you to work like this?".  :)

Appreciate any thoughts....

Cheers,

J.C.

Kiryha Krysko

unread,
Dec 19, 2014, 5:20:41 AM12/19/14
to maya...@googlegroups.com
You probably know, but anyway worth to mention: you can work more or less with references and render layers if you obey some strict rules(do not assign shaders to faces, only to whole object etc )
Also, as far as i know you would better do shader assignment and render layers setup at the top level of referencing chain. 
Some more details http://forums.cgsociety.org/showpost.php?p=7390473&postcount=13

Now-days, alembic is good way to go instead of references. I have some thoughts how you can build rendering pipeline (this is for Arnold, but some tools and logic can be used for any other render)
Here is description of idea http://www.kiryha.blogspot.com/2014/02/render-notes.html


> Deadline not allowing you to submit separate tasks per render layer
You can submit deadline job from Maya(initDeadlineSubmitter.mel) and there are options to submit render layers as separate jobs.
I have this script, can send it, but the last time we use it was in Maya 2009.

Which render do you use? For what tasks you need render layers?

Stephen

unread,
Dec 19, 2014, 8:07:15 AM12/19/14
to maya...@googlegroups.com
Been using references and layers since about Maya 4 pretty successfully 
 The biggest gotchas are of course name changes and clashing names. 
 But for me I feel like those will kill anything in production.   
  You also want to be careful of shader name  changes as Maya gets really hung up on letting you make any shader changes to a referenced set assignment when it can't find the original shader.   A quick and easy way to avoid that is to have all your incoming geo have the default lambert on it. 
 
 We always put the object level in references as hierarchy changes can be affected if you put the groups in.  This is especially true if you have clashing node names.   
 Maya will be forced to try and use long names.   And a hierarchy change will destroy that name. Often to help avoid this all geo will be deforming and in the same level group.   

  Alembic is great. But last time I checked when you reload an Alembic it breaks all connections to render layers. So we keep an intermediate file that gets referenced. Which then the same rules apply. 
 
  After that just script automate everything you can so it can be tossed and remade.  
Hth

-=s 




--
You received this message because you are subscribed to the Google Groups "maya_he3d" group.
To unsubscribe from this group and stop receiving emails from it, send an email to maya_he3d+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

John Coldrick

unread,
Dec 19, 2014, 1:00:25 PM12/19/14
to maya...@googlegroups.com
Thanks for comments guys...

smann:


To clarify a specific problem we've been having:

1. Make an asset that contains 3 spheres.
2. Pull as a reference into lighting file. Create a render layer that uses the asset and makes some shader overrides.
3. Client called - 2 spheres, not 3!
4. Alter the asset, update the reference in the lighting file.
5. Try and enter the render layer you made...and Maya won't.  "I'm missing some data that should be there, so no"
6. Reset everything and reassign your shader overrides all over again.

Obviously on my fictitious job it's trivial...not so trivial when you've got a million polys.  :)

I've seen lots of references to this specific issue on the net - and the only solution I've seen is to bake the render layers and assigns in the asset and the layers just come over in the reference. 

Yup, name clashes are common and you can be careful and avoid that, but this is specifically to do with references and render layers.  Good point about the shader name changes, yup.  The issue is, in the end, Maya doesn't let these two technologies play very well together.  By doing your overrides in the asset, you sort of avoid mixing them altogether, but it's not very elegant(lighting artist is constantly tweaking the asset, publishing and reloading).

Alembic is absolutely the way I'd love to go, we do use them for texturing in Mari and camera and projection mesh sharing, but for this it's a bit more ambitious and is on the back burner for now.  Will take some work scripting to reassign materials on import.

Kiryha:

Thanks for your link, I'll be reading that for sure.  :)  As far as the deadline thing goes:

We like to be able to send render layers as separate deadline jobs, but when you are referencing in your layers, Deadline doesn't 'see' them.  It will grey out the option altogether if all you have is referenced render layers.

Cheers guys,

J.C.

John Coldrick

unread,
Dec 19, 2014, 1:03:22 PM12/19/14
to maya...@googlegroups.com
Whoops and to answer your question, the reason we want to submit render layers separately is we want the control over tweaking priorities.  When it's all one entity, you just need to walk away and wait for the whole thing to finish.

J.C.
Reply all
Reply to author
Forward
0 new messages