2

is there a way in blender to make a tree of procedural maps that can be used in several materials at the same time? and updated at once by changing their contents in the various materials that receive it? where they are linked to the map trees of the materials that receive it?

thanks

bilo
  • 175
  • 6

1 Answers1

6

Sure create one material that has the tree you want. Select the tree and make it a node group. (Shortcut CtrlG). Hook some of the inputs to the group input and some of the outputs to the group output. An expanded group might look like this silly example:

Noise/Voronoi

Once you've created such a group you can add it the same way you would add an individual node, by typing ShiftA and going to Group in the select menu and picking it by name. I didn't change the name of the above group so it shows up as Node Group in the menu. You should name your node groups so that you can tell what they do.

Add menu showing "Node Group" as name

In this silly example, any Material that uses the group can have a unique value for the Noise Texture's Scale input, but if you change any other input, such as the Voronoi Texture's Scale input, it changes it for every material that uses the group.

That is, Group Inputs are unique to a given use of the node group, but any internal setting is shared by every use.

Marty Fouts
  • 33,070
  • 10
  • 35
  • 79
  • and is it possible to turn this function off and on again for all materials with the same configuration? can i have a mixRGB node to connect external maps in the group? – bilo Jan 27 '22 at 23:40
  • 1
    yes. for instance, pass a color in, use the node group to modify it, then use the mixRGB to select between the modified and unmodified version of the color. – Marty Fouts Jan 27 '22 at 23:44
  • can you be more clear? actually the above questions are two different questions. – bilo Jan 28 '22 at 00:29
  • Probably should ask another question. I would need more screenshots to be more clear and I don't know how to add them to comments easily. – Marty Fouts Jan 28 '22 at 00:35
  • to change the values only in a material, just ungroup?Or is there another more efficient way? – bilo Jan 28 '22 at 04:31
  • Is it possible for a group to be used in several "files" and the settings to sync the same across all files? – bilo Jan 28 '22 at 19:07
  • to change the value for one material, ungroup, or make it a new group, open it and edit it. To use in several files: Before v3, put a material in a separate file that has the group, and link that material into any file you want to use the group in. Starting in v3, make it a material asset or do it the pre-v3 way – Marty Fouts Jan 28 '22 at 19:10
  • when applying a procedural map of an object to another object of smaller size, it is necessary to rescale the map. Is there anything I can do to not have to reconfigure the procedural map scale? – bilo Jan 29 '22 at 01:19