How can I make all the rings have the same z coordinates in Geometry Nodes?

I am trying to make concentric rings in Blender using geometry nodes. However, as I scale the rings, they become bigger on the Z axis. Is there a way to have all the rings with the same Z coordinates?

Thank you

Hi Jaime_Pena,

Use a Combine XYZ node for the Scale.
Plug the output from your Math - Multiply in the X and Y slot. And for Z use 1 as the value

2 Likes

Quick way with screw modifier after geonodes.

Hope that helps.

Other ways are available!

2 Likes

Thank you! your solution worked. I have another question if you don’t mind. I also want to add random colors to each of the rings. The problem is, that there is a huge ring at the end of the array that I don’t want to see.

If you could tell me a way to make the last ring the same dimensions as the others I would really appreciate it.

Thanks,

Jaime

Here is my current geonodes

The other rings don’t have the same profile. They are all intersecting each other, because you are just scaling up the first ring:


You can’t achieve what you want with instances alone. You can however get the desired result with the solution from @AlphaChannel

Here is an other (probably overcomplicated) way to do it:


Rings.blend (116.4 KB)

First, we create some equally spaced circles by instancing a Curve Circle on some Points and scale them up by their Index value (similar to what you already did):


After that, we store a Random Value between 0 and 1 for each of these curve instances:

Iin this case, i used “Rnd” as the attribute name (you can call it whatever you want). We will later use this value in our shader to controll the Color Ramp.

After that, we Realize the Curve Instances so that we can extrude a Profile along them and then set the material for the object:


The Set Shade Smooth node is optional…

I didn’t quite understand, what you wanted to do with the Empty object in your setup. I assume you wanted to controll the transformation with it? This is how i would do it instead:

Finally, we can go set up our shader. Because we realized our curve Instances, we can’t use the Object Info - Random value anymore to controll the Color Ramp. That’s where our own “Random Value” attribute comes into play! Just use a Attribute node and type in the same name, that you used in the Store Named Attribute node in our Geometry Nodes setup:


You can play around with the Seed value in the modifiers tab, to get a different pattern.

4 Likes

Thank you!, your solution is exactly what I needed. Can I make a tutorial based on your method?

1 Like

Sure! Feel free to use it for whatever you wanna do with it :slight_smile:

1 Like