Some unstructured comments on methods and tools for the generation and manipulation of procedural materials in 3dsmax.
How to handle complex procedural materials inside 3dsmax?
What tools and scripts can streamline your pipeline, both as TD and artist?
rdg:mapTileTool - a maxScript [2007-02-20]
The selection callback is now implemented.
If "follow selection" is checked - the tool works on the currently selected object.
Turn this option off to work with another object while adjusting the tiling.
Finally started to build a material library that covers any gradient ramp.
A procedural material for cutting mats - only the logo is a bitmap.
This material demonstrates that complex materials sometimes are a combination of different materials. In this case: materials for side, fillets and top.
It also demonstrates that the native maps in 3dmax are somewhat limited if it comes to complex materials:
The gradient ramp only supports 100 discrete steps in the user interface - I have to double check if maxscript can assign floats to the gradient flags.
So it is nearly impossible to place lines exactly where they should be and a hairline is always 1% of the uvw-space. Ok we can tile the gradient and apply another mask to fetch the line we are looking for.
I am missing an "position map" that just multiplies the coordinates of nested maps, I haven't found something like this.
a fully procedural ruler map - this material demonstrates the need for comunication between material and object.
Currently you can only change the length of the denotations (every 1st, 5th and 10th) - you cannot change the alternation, though.
I developed a proprietary installer for this material and its utility.
You can download installer.mzp- it needs max9 to run.
After installing follow the onscreen instructions.
rdg::graphPaper - a preview
A prove-of-concept implementation.
A dummy holds custom attributes to manipulate various parameters in a complex nested material.
This movie shows a mapTileTool. Sometimes the mapScaler(WSM) just isn't enough.
The tool unifies the access to UVW and XYZ coordinates for 2D and 3D maps.
The coordinates for all nested texturemaps of a selected material are adjusted at one.
This is done with a multiplier, keeping existing releationships.
The movie also shows some obvious stumbling blocks: