Attaching matte shader at geometry level

   2362   2   0
User Avatar
Member
3 posts
Joined: April 2013
Offline
Is there anyway to attach a matte shader at the geometry level? One pretty common workflow at my studio is to attach most materials at the geometry level. This is great until you need to matte out an object that has a bunch of difference shaders with different transparencies on each shader. Is there some primitive attribute I can attach? I have tried “shop_vm_matte” and “shop_vm_matteshader” (similar to the “shop_vm_surface” attribute), but mantra does not recognize them as anything useful.

Another related question (which may solve the issue more cleanly), is there anyway to automatically force the surface shader to be attached as the matte shader as well? I already wrote some VEX code to automatically turn a surface shader into a matte shader based on if the object has been marked as matte. The only thing is I want the matter shader to automatically default to using the main material/surface shader instead of whatever global matte shader gets attached. Does mantra support something like this? In the past I have simply linked the matte shader parameter to the surface shader parameter with a relative channel reference at the object level, but that won't work with the workflow adopted here of attaching shaders at geometry level.
User Avatar
Member
8595 posts
Joined: July 2007
Offline
you can do that very easily
just add vm_matte to your material properties shader and promote it
then on Material SOP assign it to the group you want and when you wish, you can just Create Paremater Override for that vm_matte, which will turn it on for that group

your poly group will still keep it's material for secondary rays, so exactly the same behavior as Matte Shading on object level

you can as well add vm_matteshader to the properties shader of your material and point it to shader that should be used as a custom matte shader instead of default one
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
3 posts
Joined: April 2013
Offline
tamte
add vm_matteshader to the properties shader of your material and point it to shader that should be used as a custom matte shader instead of default one

Genius! I tried it out at the geometry level and attached some quick and dirty renders to this post. Thanks a million tamte.

Attachments:
matte_material.png (117.9 KB)
material.png (237.7 KB)

  • Quick Links