Create rings for ringed planet procedurally

Trying to create a ringed texture like the one in this image in a more procedural way using Blender nodes

I could achieve this with a color ramp, but I do not want to manually edit each ring but rather to create it in a more procedural manner

I decided to give a try to the wave texture and created in total 4 wave textures with different parameters of scale and then add them all together and got this:

However, given the level of detail (very fine rings) I want to give, there would be needed many nodes of wave texture and that would be very unelegant.

What would be the best approach to do something like that in Blender?

EDIT: this is the current node aproach (as I said, it is not elegant at all)

• Hi and welcome :) Are you trying to create this with geometry or via shader nodes? Seeing the setup you are working would provide some more information for users that would like to answer, without them redoing what you have already tried. Along with images of your node setup, you may add a blend-file (with textures packed please) as well for others to have a look at. Thanks :) Oct 14, 2020 at 17:11
• Thanks for your input @Timaroberts. I just added the nodes current approach I have done so far. Did not added in first moment cause it is unelegant and messy and for sure there is another more elegant way to achieve it. Specially taking into account my current approach is not scalable (in case you need to add dozens of wave textures nodes) Oct 14, 2020 at 17:17
• mix shaders do just that, mix. Add (converter> math) would be better here because you are working with color closures, not shader closures (the yellow and green dots). This Q might be of help for that part Oct 14, 2020 at 17:20

One way to do something similar is to get the length from the object center and apply a noise (random) texture on it.

The first three nodes:

• Get the length from object origin (center of the disk)
• Calculate a sinus of the length (alternate from -1 to 1)
• Map it in positive values to -1/1 to 0/1

The next three nodes are about to add randomness and control over it:

• Rgb curve to distort the mapping
• Noise texture to get randomness
• Color ramp to choose how the values are mapped

• This is exactly what I was searching for. Amazing help and very well explained. Thanks a lot :) Oct 14, 2020 at 22:06