More Random outputs from Object Info node
Currently, the Cycles Object Info Node Random output gives you a single random number per material. Meaning if you use the node more than once in the same material, you get the same Random number out of it every time. This random number is based on the Render Seed, but will always be the same per object as long as the Render Seed is the same.
If you want multiple Random values in the same material (which is useful for many reasons, especially when working with procedural textures) you need to use the #noise.random() scripted driver expression. However, the numbers that this gives change every time things are updated or refreshed. If you hit Render, you can see it flip through several numbers. This means it is not consistent. (It also clutters your drivers up, but that's not that big a deal.)
It would be useful to have the option to get more random numbers in each material, but that are not going to change every time you render or load the file. A second Random socket could be added to the Object Info node, but this one will give a different output for every instance of the node. You can then have as many random values as you add nodes, but still rely on them being the same on every render.
EDIT: This could also be a checkbox on the Value input node, or on the dropdown from the Math node.
4 Comments
I think a seed value would be the best solution...
You can use "Random Per Island" output from "Geometry" Input nodes to get more random values.
There have definitely been times that I've needed this. in the past, I've just used the random output and feed it through a hash function (not too hard to build with math nodes) That works pretty well but it would be nice to have this capability built-in.
It may be worth it to give a specific use example where having additional random values would be helpful.