Power Masker
The 3dsmax UI only allows you to set material effects ID up to 16 channels. The VRayMtl allows you to go beyond this using the effects ID override but other types of materials don't have any UI to adjust this. This tool using a backdoor into 3dsmax to set the effects ID beyond the 16 limit imposed by the UI.
This means you can create masks for every material in your scene. Using this tool you can either assign effects IDs by hand or just press to automatically create them and their mask render elements.
You can also make a Vray Multi-matte mask for each layer in the scene too, this uses the include/exclude lists rather than the GBuffferIds, so that you can therefore use the GBuffer IDs for doing variation with texture maps or mask objects individually if you want to.
Bug found with VRay that made some of the mask render white. Put work-around in the script, don't worry that the layer masks say their ID is 10000.
Attachment | Size |
---|---|
dwpowermasker.mcr | 8 KB |
Comments
Max 2020
hi Dave,
Seems to not be working on Max 2020
Getting this error:
--Unknown property: "StringStream" in dotNetObject:Autodesk.max.__Global
any ideas?
Reset to 0 Bug
Found the issue with the Reset to 0. Thanks for reporting.
Multi-Subs and VrayBlends
Sorry for late reply but if you are generating MMEs for materials inside an Multi-Sub material of Vray Blend mtl, you cannot get an MME for this material as well. I'd suggest using object masks to get around this. Bug Vlado to see if he can change that! ;)
Same thing here
Hi,
The script works fine for me with VRayBlend and Multi-sub object materials, but at sub level only, not for the main material (with the larger .mcr file).
Thanks
for making this script , but if you can make it apply at sub level materials like (multi/sub-object , vrayblend) will be more handy.
thanks in advanced
Youtube, Gumroad
All to zero problem
Hi, first of all really thanks for this script i really need it.
Just one thing if i use the All to zero option it do not function with the main material of multisub and vrayblend.
Is my fault or a little bug?
Thanks Again.
Alessandro
Thank you
Thank you Dave,
Your script now works the way I expected, but not with Multiscatter objects which have a Multi-Subobject Material on it. And this is due to Multiscatter creating a temporary layer at rendering time only: so your script can not create the appropriate render element. In this case I think I will rely on another usefull script: Render Mask.
Thank you again for the great work :)
Test it for me :)
I've added a new version (It's the larger file), see if it works for you.
Thanks ! Why not a switch ?
This is great news Dave, thank you !
I understand what you say and it's true it can quickly become very messy on complex scenes with a lot of Multi/Sub-Object and/or VRayBlendMtl. But as I mainly do exterior visualisations with few materials it should be very acceptable.
So why would'nt you create a simple switch to turn on or off this possibility depending on the user's needs ?
Thanks a lot again !
I can but....
It's an all or nothing, if you want sub-materials then you get sub-material masks for everything and none for the root materials as 3dsmax/Vray can only give you a gBuffer ID for one material level at a time.
So if you have lots of levels of VRayBlend Materials this could get quite messy!
I've got a version, I'll upload it tomorrow when I've tested it some more.