Maya 2017 Render Layers Shader Override

Maya 2017 Render Layers Shader Override

RooftopAnimation
Advocate Advocate
5,805 Views
6 Replies
Message 1 of 7

Maya 2017 Render Layers Shader Override

RooftopAnimation
Advocate
Advocate

Hi,

 

I used to use the Legacy Render Layer system, but as you may know, it is often quite buggy; losing overrides, making scenes completely unrenderable, etc.

 

I was keen to use the new system, but I'm hitting a bottleneck.  I can't override single shaders on geometry shells with multiple shaders.

 

For example, I have a character with limbs, torso and head all as separate shells.  The head has 3 different shaders.  When I try to override any number of them, 1 or all 3, the override does not behave as expected.  It doesn't override one of the shaders.

 

What I do, is create a collection, add my mesh, then add a shader override.  I drop in the shaders I want to replace and assign an override shader.

 

I've tried this with a simple cube where there are two shaders.  I can't seem to replace a single shader.

 

I don't know if this is missing functionality or a bug, but I've now reverted back to the Legacy system and it's just bugged out on me.

 

I'm quite desperate and in need of some urgent assistance.  If I am using the feature incorrectly, please may someone direct me somehow?

 

Kind regards,

Ed

0 Likes
Accepted solutions (1)
5,806 Views
6 Replies
Replies (6)
Message 2 of 7

RooftopAnimation
Advocate
Advocate

Please take a look at this screenshot:

maya_2017-05-03_15-07-13.png

 

This is my character, referenced into a clean scene. With this I tried a material override and as you can see only a portion of the entire mesh is affected.

 

In the actual reference file, applying the same material override affects the entire mesh except for the face area.

 

Am I missing a step something?

0 Likes
Message 3 of 7

mspeer
Consultant
Consultant
Accepted solution

Hi!

 

It's a bit more complex in your case (overriding multiple shaders assigned to different faces of a single mesh)

 

You made a collection for your object, OK,

but then you need to refine the filters down to the individual Shaders / ShaderGroups you want to override.

You can do this manual (see my screenshot) or include them by using [Drag nodes here ...].

 

shader_override.gif

 

 

 

Message 4 of 7

RooftopAnimation
Advocate
Advocate

Hi mspeer,

 

Thanks so much for the assistance.  I'm able to replicate your results on new geometry in a clean scene.

 

I'm still experiencing weird results on my character mesh though.  I'm now thinking that there is something wrong with the mesh itself.  Also with me switching between the legacy and the new layer system, I seem to have made things even worse.  I will export just the character mesh as an OBJ and bring it back in, re-apply shaders and see if that works.

 

Kind regards,

Ed

0 Likes
Message 5 of 7

mspeer
Consultant
Consultant

Hi!

 

If it doesn't work, upload the scene-file.

0 Likes
Message 6 of 7

RooftopAnimation
Advocate
Advocate

Hi,

 

Thanks for the offer.  Initially, I got the results I wanted, but then for some reason, the override became the "initial" shading.  I'm not sure if that was after saving, closing and reopening the scene file.

 

When taking a look at the node editor, all my shaders were linked to only one shading group node whether I turned render layers on or off.

 

In the mean time, I went with a 3rd party renderer and rendered out passes with material IDs.

 

I'll try and reproduce the results over the weekend and see exactly where it bugs out, then I'll forward my project file.

 

Kind regards,

Ed

0 Likes
Message 7 of 7

RooftopAnimation
Advocate
Advocate

Hello,

 

I think I found a solution that doesn't bug out.  Please see the images that follow:

 

With the working solution, I had to create an initial collection for the geometry, then a collection for all shaders on that geometry, then a further collection for the shaders that would be overridden.  The last step is to add the override shader itself.

 

The collection with ALL shaders is the key to this solution.

 

 

maya_2017-05-16_10-09-56.png2017-05-16_10-10-11.png

 

Below is where I tried to neaten up the tree by removing the collection with ALL shaders.  Initially, it works, but once you've saved and re-opened your file, the override bugs out and overrides your base scene as well, as can be seen below.

 

maya_2017-05-16_09-50-51.png

I don't know if my solution is the correct workflow or if the buggy version is supposed to work the same way, but it makes sense looking at this:

 

http://help.autodesk.com/view/MAYAUL/2017/ENU//?guid=GUID-405E1713-CED2-4A07-A822-27A77C68D3FB

Where there is a collection for all geometry and another collection for the geometry to be overridden.

I hope this can help someone else.

 

Kind regards,

Ed

0 Likes