2
$\begingroup$

(Using Blender 3.6.5)

To save your time, notice that similar questions were already posted with detailed answers. Here are some well documented resources:
(1) Why is there a red line when I try to connect one node to another?
(2) Why can't the radius of an Icosphere be set depending on position with geometry nodes [SOLVED]
(3) How can I instantiate a procedural node group with different parameters?

Exploring different approaches to answer J.A.'s question Is it possible to have an equivalent of Array modifier with decreasing count?, and after reading Markus von Broady's answer based on extrusion, I played with the idea of preparing different floors for the tower then of stacking these with an Instance on Points node, instead of stacking the same floor (a circle), then of changing the shape (i.e. the number of bricks per circle). To do so, I planned to use the Pick Instance socket.
It works fine with a static collection made using a Geometry to Instance node connected to pre-made shapes (see the top of the GN graph in the figure).
But I am failing in creating shapes using a function based on the vertices index (see the middle part of the GN graph in the figure). The value downstream of the Sample Index node is correct in a Viewer node, but there is an error connecting it as input to the Mesh Circle node. I am suspecting that along the data path of this branch, there is a conflict between the geometry requirements flowing backward from the Instance socket, and the geometry information flowing forward from the Mesh Line node.
Am I trying to do something that is orthogonal to GN philosophy ? Or am I missing something ?

GN graph

Resources:

$\endgroup$
2
  • $\begingroup$ the problem is "just" the difference between a single value (circular input) and a field value (diamond shaped input). The sample index has a diamond as output (so it is a field value), but Mesh circle vertices input is a field value - that's why you cannot connect them. $\endgroup$
    – Chris
    Commented Dec 29, 2023 at 14:19
  • $\begingroup$ Shame in me ! I missed this... I was clearly trying something breaking rules. $\endgroup$ Commented Dec 29, 2023 at 16:49

1 Answer 1

5
$\begingroup$

I'm sure there's plenty similar questions to that, perhaps even it can be closed as a duplicate, but I think it's easier to answer than to find the other question…

The Mesh Circle node, just like most (exception: "Points" node) other "geometry primitive" nodes, creates just a single primitive.

So that's how the node is programmed, it creates a single "circle" (regular polygon really). It doesn't then make sense to use a field to control the number of vertices of this "circle". In case of a radius, you could at least argue that you want a "loop", which has a varying radius, just like the 3D equivalent I call a geoide under the link below:

Why can't the radius of an Icosphere be set depending on position with geometry nodes?

There's various tricks you can employ to create multiple "circles" with varying resolution, for example you can duplicate one circle and resample each spline differently:

Repeat Zone equivalent (well, the positioning isn't the same, for simplicity):

$\endgroup$
0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .