Materialiser is a script for Maya, written in Python. It is designed to automatically build your shader networks and import your texture maps so that you don't have to. A prototype for Materialiser was created for my final major project at university. After finishing, I did a full rewrite in response to feedback and I have been improving it ever since.
Why should I use this?
The usual process for importing a material into Maya is to manually go through the attributes, creating file nodes and loading the needed files into each one. Each material may only take a minute or so to import, but mistakes are easy to make, and with larger scenes that have many assets, this process can take a long time. Materialiser makes this entire task last no longer than a few seconds, you can simply select an object, pick any texture map from that material, and you are done! You can even use Quick Mode to rapid fire load materials for lots of assets.
So how does it work?
At Materialiser's core are two main systems:
- A system to analyse your naming conventions and categorize your texture files.
This looks at the file names you use for your textures, categorizing them into map types and grouping together maps that belong to the same material. This can be used later when a material requests a "Diffuse map" for example.
- A system to Remember and recreate shader networks including ones that you have taught it before.
This remembers the structure of the basic material types (Lambert, Blinn, Phong) and is then able to recreate them automatically. You can also take a snapshot of any third party shader type, or custom shader network, no matter how complex. You create your template, and Materialiser will remember it.
Materialiser then finds all the file nodes and assigns each a map type to request.