Randomization Node Group Pack

  • December 26, 2014
  • Blender 2.7x
  • Render: Cycles
  • Creator: ArtOfLight
  • License: CC-BY
You must be logged in to download.


Here is a set of node groups I created for the Cycles Render Engine that can randomly assign textures to any objects using the single material these node groups are in, as well as randomly change vector coordinates, color values like Hue, Saturation, and Value, and things like Roughness in a Glossy shader. This can help a lot in creating things like wood and stone floors from scratch, but also things like randomizing leaves on a tree, baking textures for games, creating custom brickwork on a building and many other things. Some of the nodes also work very well as a way of randomizing texture coordinates for things like Masks so that not every object is using the same part of the texture, even though they may be using the same material.

For the random texture assigning aspect, they basically give functionality like this 3ds Max plugin: https://cg-source.com/multitexture.php

Although attribution for the node groups would be nice, if you are unable to attribute me for them, don't worry about it. I'm just glad you'll be able to use them! One nice thing if you are able to though is that other people will be able to find out about them and use them too.

Lastly, here is the link to my Blenderartists.org post if you would like to learn a little more about them, and see some of the things that people have made with that 3ds Max plugin I mentioned that some of these nodes give the same functionality as: https://blenderartists.org/t/functionality-similar-to-the-3ds-max-plug-in-multitexture-map/630277/1

Edit 2/2019: The Blend file has been updated again with better explanations for all the node groups, as well as a few new nodes to play with, and a reworking of some of the old nodes to work better. To give credit where it's due, the new method used to assign textures randomly comes from this post here: https://blender.stackexchange.com/questions/15076/what-is-the-easiest-way-to-have-a-material-randomize-the-image-textures-it-uses


  • skreider profile picture

    when you ungrouped that node at 1:30 my head exploded.

    Written January 02, 2015
  • ArtOfLight profile picture

    Yes, they are definitely a bit intense. Once you get the hang of using them though, they're not too bad. They're basically just a giant Mix node that can mix 20 textures instead of only two, with a random mix factor instead of a factor between 0 and 1.

    Written January 03, 2015
  • Hrams2010 profile picture

    Wow that is quite something. I hope I can figure out how to use it. Thanks for sharing this. It must have been a lot of work.

    Written January 03, 2015
  • ArtOfLight profile picture

    Yes, it was quite a bit of work, but I love the adventure of experimenting and figuring out how things work. So it was pretty fun as well. Sorry about the complexity of them; I wasn't really able to figure out any other way to make them simpler without using a script.

    Written January 04, 2015
  • sebababi profile picture

    Wow, great mixing node, and I also tried to reproduce your amazing wall procedurally, but I didn't want to use textures. I used the Floor Generator you propose, and the random in Obj Info mixed with noise textures and colorRamp but didn't manage to get any close to your level of realism. Did you use textures? I tried to find a brick material texture but didn't manage to find one either. So, I used a concrete, but tried to color it redish, and didn't manage, it gets too dark, or too fake with the brightness/contrast. The best I found was this one: blenderartists.org/t/procedural-brick-shader/670049 but after a lot of retouching, when i copied Data Obj to all, they all looked the same, and the Random ( didn't help much ). Any suggestions? or Tutorials?

    Written December 05, 2018
  • ArtOfLight profile picture

    @sebababi Thanks! Sorry it's taken so long to respond back. I've never been able to figure out a way to have Blendswap notify me when someone writes a message, so seeing messages kind of just depends on whenever I'm on Blendswap and see them.

    Yeah, brick walls are hard to make and can take a lot of time :). To answer your question, I used some textures that I had photographed in order to do the bricks, and they are also sculpted as well. The photos I took were of really close up bricks where you could see maybe 3 or 4 full bricks in the picture, then I cropped each individual brick into it's own image and made each one seamless until I had I think about 10 brick textures. I also unwrapped the bricks so that the UVs for the front of the brick fit within the brick textures I had made, so that each brick would use a texture from an actual brick. That was where these node groups came in because I could then randomly assign each of those brick textures to each 3D brick I had put on the wall. Lastly, I used what is now called the "Randomly Change a Value" node group to randomly change the Hue, Saturation, and Value of all of the textures assigned to the bricks, as well as randomly changed the roughness value of a Glossy shader for each brick.

    (My reply didn't fit in one message, so the rest of the message is below :) )

    Written February 22, 2019
  • ArtOfLight profile picture

    To actually create the bricks, I just used about 10 single sculpted bricks, then duplicated them to create an entire wall, so I was able to use the Object Info node's random value for that because they were separate objects. If you're using the Floor Board Generator though, one reason the random value may not be working for you is that, since it creates everything as one solid Object, you can't use the Object Info node for that because it assigns random values to each separate Object, and since you only have one object, you would only have one value. To get the nodes to work on a single Object with separate pieces in it, you have to use the "Random Vertex Colors" operation that comes with the Floor Board Generator on your object. This assigns random vertex colors to each separate part of your single object. Then you use that vertex color slot that you've added random colors to in your material instead of using the Object Info node.

    So I don't know if all of that helps at all, but hopefully it does.

    Just to let you know, I went ahead and updated the Blend file with a few new nodes, and also better explanations for everything. I also added kind of an example material that shows how everything might be set up in a real material, with showing how to use the vertex colors for the random values. So you may be able to create the bricks a bit easier now and hopefully be able to figure out how to work with the nodes okay, if you're still needing to create some bricks that is :). Sorry again it took so long.

    Written February 22, 2019
  • throwaway_23476423682 profile picture

    The download is broken, it keeps 404-ing

    Written December 10, 2019