Material Override Excluder

3 votes
Version: 
1.4
Date Updated: 
06/15/2015
Author Name: 
Dave Wortley

Do you use the Vray Material Override to do chalk renders and wish that it would allow you to exclude certain materials? Like VRayLightMtl and any refractive materials like glass? Well now you can using this little script. It sets up a Shell Material which allows you to switch from one material setup to another. So even if those pesky VRayLightMtls and refractive materials are within Multi-sub materials then you’ll still be able to exclude them. Give it a go, test it out and let me know how it works for you! Cheers to Fraggle from the Chaosgroup forums for giving me the motivation to do this one. It should be easy enough to hack it for Mental Ray or other renderers, feel free to ping me a message with any specific requests, I'll add Corona soon.

 

Additional Info: 

Usage

Choose the Material Editor Sample Slot you want to get your Override/Chalk Shader from, that’s down bottom left in Slate or one of the sample slots in the Compact-Material-Editor. Keep the excludes on for whichever materials you want to preserve (let me know if you want more there). You can keep refractive materials and automatically desaturate refraction / fog / exit colour/maps. You can choose to keep opacity maps/bump maps/ displace maps this will work with nested materials, multi-sub, VrayBlends etc… You can also exclude by a material name, and using Wildcards you can exclude all materials which have glass in their name for instance by putting in *glass* into the name exclude box. You can also get your the objects you have in your include/exclude List in the VRay Material Override Exclude Dialog. Press ‘Create Override Setup’ and your scene is now ready to render with override materials on, you can press ‘Go Material’ at any point to return to the original materials, and press ‘Go Chalk’ to go back to rendering chalks. Press ‘Remove Override Setup’ to revert back to how your scene was, even if you close and reopen the script. Hold Shift on the ‘Go Override’ and ‘Go Material’ buttons to turn just the selected objects to Override or Material.

Installation

Download the MCR File Run it using the Maxscript(now called Scripting in 2016) Menu -> Run Script or Drag and drop it from your hard drive into the viewport.

You'll find the macro under 'DW Tools'

Changes

v.1.2 Updated to fix, bug when not using Vray Material Exclude List, and extra layer of warning messages added.

v.1.3 Updated to add override to objects with no materials.

 v.1.4 Update to allow overrider of XRefScene Materials, and exclude by name can have multiple inputs using commas to separate.

 

Version Requirement: 
3dsmax 6+
Other Software Required: 
Vray 2.0 +
AttachmentSize
dw_materialoverrideexcluder.mcr13.62 KB

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
DaveWortley's picture

Question for those that use this.

Should I default the script to get the material from the VRay Material Override Slot in the render settings dialog rather than getting from first slot in the material editor samples?

MaximuM's picture

Awesome !

That would be awesome !!
I am ready to wait a little bit more to see that :)
Thank you again,
Cheers

DaveWortley's picture

Include / Exclude

I'm designing this to be used with the Include / Exclude system I'm developing. I'll somehow merge the two scripts at some point.

MaximuM's picture

Improvement idea

I closed 3dsmax, and manually deleted the old .mcr, then I opened 3dsmax again, draged and droped the new .mcr and now I have the script working fine :)

I really appreciate it so far but one thing that is still missing (at least to me) is when dealing with big scenes containing a lot of various vegetation objects for example, coming from various providers. In such a situation, I think you will agree that it is a pain to rename one by one each material you want to exclude from the override setup whereas all of these objects are probably already stored in only few layers ... So it would be much easier, to exclude such objects, to have the possiblity to exclude entire layers lists of objects rather than doing it only by their material names ... I know it is probably a bit complicated to script but it would definitely give a lot more interest to your script which is already very helpful.
As I know you are also working on another script called Include/Exclude: maybe you could make the two ones working together ? Or making just one awesome script that would do both jobs ?

Anyway, thank you again Dave !

DaveWortley's picture

More New Features

Hmmm... it worked for me, try again with the latest version.

I've added the multiple text input using commas "*Glass*,*water*" and also made the script work with XRefScenes as well.

MaximuM's picture

Thank you but ...

Hi Dave,

Thank you for the great work !
I downloaded the last 1.3 version, but when I drag and drop the .mcr on the 3dsmax viewport, I have the following Maxscript FileIn Exception error: "-- Syntax error: at<, expected -- in line:

DaveWortley's picture

v.1.3

Now works on objects with no materials applied to them.

MaximuM's picture

That would be great

Thank you Dave: that would work for me :)

DaveWortley's picture

Good ideas, I'll cover off

Good ideas, I'll cover off the no material override pretty easily.

For your other suggestion I'll add it so it can take comma separated entries. Example...
*Glass*,*arch*,*concrete*

Will that work for you?

Also I need to cover XRefScene materials as well and make sure groups are working too.

MaximuM's picture

Really great but

Hi Dave,

Your script is really great but it does not work with objects that don't have any material assigned (ok I understand it is impossible to create a shell material without any base material). That's a point you could try to improve.

Another thing: I need some help with the use of wildcards. The script works well when using a single string like *glass*, but when I enter let's say 3 strings, like for example *glass* *arch* *concrete*, the script does not work anymore: these materials are then replaced by the override one which is not what I want. I must do something wrong here: can you please help me ?

Thank you so much !

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.