Just getting back into blender and trying to create a scene with 1000 gold coins that each have unique splotches of blood on them. They share the same base mesh and material (a simple golden-hued metal texture), instanced with a particle system and then made ‘real’ into individual meshes. Currently I’m adding the splotches of blood on five or so different coins using texture painting (each has it’s own material of the base metal mixed with a dark red diffuse where the factor is controlled by a texture mask), putting them into a collection, and referencing that collection in the particle system. It looks alright, but I’m curious if there’s a way to procedurally create the blood splotches on each coin. I’ve tried using the Object Info node’s random output, but I don’t think I’m doing it correctly, as the entire mesh turns the dark red color of my diffuse and the other copies stay completely gold. My sense is that there’s likely an easy work-around using a noise/musgrave/voronoi texture and tying that to the object info node’s randomness, but I’m curious if there’s any way to have that affect a texture mask. Hope this makes sense.
Welcome to BA
There are quite a few different ways to approach this. Let me show you a couple tricks that you should be able to adopt for your use case.
Method 1: Using 4D Voronoi, and using Random as the W. This works if the objects are duplicates or instances of each other:
This method will work well if you have different image textures you’re using as masks, you can just switch the Voronoi textures out for those images.
Note the LogicalAND nodes- these don’t come with Blender, they’re a group I made. That group has this:
So you can switch each LogicalAND with those three math nodes to get the same effect
Method 3: Combining both methods
You can see that Method two has the masks all in the same place. If you don’t like this, you can incorporate Method 1:
This is incredible, thank you so much! I’m not great at logic-ing my way through the math nodes on my own yet, but this makes complete sense. You’re the best