Main Menu

instance duplicate nodes

Started by andy.engelkemier, December 21, 2020, 08:02:48 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

andy.engelkemier

Those of us that use multi-materials for 15 different color variations of something probably end up seeing a bunch of Nearly unmanageable materials graphs....at least if you didn't make it yourself.

When you duplicate a material, the default action is to duplicate the entire tree. So if you had 3 labels, a noise bump map a color adjustment, you get it...it duplicates them all. And if you intend to change all those, then that's useful.

The "Sync" for textures isn't very user friendly, since you have No idea what that is instanced to. But if you have, for example, One logo image mask set up to a opacity on a label that is then attached as a label to every material then you know that they are all exactly the same, just by looking at the material graph.

So I said the word instance, but what I mean is create one single node inside a multi-material. I know there's no true instance between materials/objects. But within the material graph, anything with one output that is used multiple times is sort of an instance?

What I'd like is to be able to open the material graph, then hit a button that says something like "instance duplicates," or "reduce duplicate nodes" or something like that. Any node that is exactly the same would be merged into one node and the outputs would be remapped.
If nodes are selected, it would run only on selected nodes. It wouldn't touch materials that are duplicated because the names would be different.

This is a great way to be able to still Quickly get the color options you need by duplicating your material over and over and just changing a color. Then you can reduce the nodes to something manageable by hitting a button. Currently, it takes a bit of work to remap all the nodes and remove the stragglers, Partly because I have No idea what's going on with the "align nodes in work area" button. Sometimes it seems like it makes complete sense. And other times it crosses everything completely over eachother and turns everything into a mess of overlapping nodes and wires.

carloswhipsaw

+1, agree that this would be useful. A parallel issue (not exactly the same issue, but a related one as far as keeping the material graph clean and easy to navigate) that's worth resolving is how chaotic multimaterials can get. I think a great feature would be to be able to collapse/expand sub-material nodes.

Right click a sub-material > Collapse Sub-Material
Right click collapsed sub-material > Expand Sub-Material

That way instead of seeing 8 complex webs of nodes and wires, you could just see one node per sub-material until you choose to expand it. The collapsed sub-material node could look like a small stack of nodes to visually distinguish it from simple nodes.

INNEO_MWo

Which version of KeyShot do you running?