I am trying to use an particle system in Blender to create a field of objects (in this case bumpy rocks) with a procedural texture material on each object where each object has a randomized bumpy pattern (using cycles "true" displacement).

Based on feedback from below and elsewhere, I was able to get the Random output from the Object Info node to modify the way a procedural texture is mapped to a emitted object (which is extremely helpful). See below to see layout:

enter image description here

As you can see in the image above, the procedural texture pattern appears different for each ball, which is awesome. However, if the exact same setup is used for displacement, the patterns are identical on each ball (in other words it doesn't work).

enter image description here

Some feedback I've gotten would indicate that what I'm trying to do is impossible in Blender, but I am definitely all ears for workarounds (or better looking forward to hearing what I did wrong here that would make this work if rectified).

Here is a link to download the file: https://drive.google.com/file/d/1GkfZMhIYJId7pX0k0A8BxKn2HUa8WY_m/view?usp=sharing

Thanks in advance!

ORIGINAL POST: I am trying to use an emitter to create a field of objects (in this case bumpy rocks) with a procedural texture where each object has a randomized bumpy pattern. Ideally what I would like to do is utilize the "Random" node output from the Object Info node to manipulate the generated UV map in the Mapping node in terms of "location". So this randomized value per emitted object could be utilized to make the object intersect with the procedural texture at different locations (so to speak). This would make all the rocks unique in appearance. I do not want to use world space coordinates as that would mean the objects could not move without changing appearance. I am not a pro at python or drivers, but I would prefer a driver-based solution if given the option. At this point however, any adequate solution would do. Thanks in advance for the help!!!

  • $\begingroup$ You don't need scripting to achieve this. It can easily be done by connecting the Random value to the mix factor of a Color Mix node. Then instead of colors just plug two different Vector Mapping nodes with different rotation or position $\endgroup$ – Duarte Farrajota Ramos Dec 27 '17 at 11:03
  • $\begingroup$ This answer has been very helpful and it appears to be working when I feed the results into a diffuse color node (and I bet it would also work if I input it into a normal map node situation). HOWEVER, I'm noticing that it does not show any variation when I plug the results into a displacement node with true displacement on. Is there some setting I'm missing? $\endgroup$ – Jeffrey Dec 27 '17 at 16:14
  • $\begingroup$ How are you using displacement? Cycles micro displacement, or modifier based one? $\endgroup$ – Duarte Farrajota Ramos Dec 27 '17 at 18:30
  • $\begingroup$ Cycles micro displacement. It's very curious. I have a procedural height map with the random elements in there. When I input it into a color in a shader, I can see variations in each emitted object. However, when I plug the same procedural grayscale map into the displacement node I get true displacement but the bumps are the same for each object. $\endgroup$ – Jeffrey Dec 27 '17 at 19:06
  • $\begingroup$ Not sure how you are setting it up, but it us working fine right here $\endgroup$ – Duarte Farrajota Ramos Dec 28 '17 at 2:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.