3

The question is best described with pictures.

Why is it not possible to set the size of the Icosphere by putting the scale value in the radius input depending on the distance to the point? Any static value will work.

Broken node group Working node group

And especially why does the second solution, Feeding the distance into the scale input of the Instance on points work? I was surprised.

Especially as I am now putting a single float into a vector input, while in the first solution the radius and distance are both floats.

quellenform
  • 35,177
  • 10
  • 50
  • 133
Smitje
  • 90
  • 5

2 Answers2

6

An instance is a copy of another mesh. Therefore having a variable property on an instance doesn't make sense, because if each instance is unique, then it contradicts the definition of an instance. It's not just about some kind of obeying-definition-pedantism – instances are used in order to save memory space.

Fortunately, one of few instance-specific properties is scale: so you can have all instances being copies of something, but have a varying scale:


For future people googling a different issue and finding this thread: Why does the icosphere node need a constant radius input?

"Why" questions have the risk of getting philosophical…

Points node creates a new geometry, and allows you to set a different position per point using a field:

So there's nothing forcing Blender devs to program other geometry spawning nodes in a similar way… Except if you have a sphere, it doesn't make sense to allow the radius to be a variable, because a sphere has a constant radius, right? On the other hand a Cube should have all sides equal, so it's not like Blender devs care that much about logic…

The answer is, then:

The radius can't be set depending on the position, because that's the way it was programmed. Breaking backwards compatibility is not worth it, as in this case it's trivial to do with just a handful of additional nodes:

Markus von Broady
  • 36,563
  • 3
  • 30
  • 99
1

I think this is similar to the issue i faced with the understanding of the attributes in Geometry Nodes Subdivide a scaled mesh line every 2cm. Markus von Broady has done a great job explaining it.

The solution i found is to use an "Attribute Statistics" node to convert the attribute (a generator data type) to a normal value. So, in your case, "Attribute Statistics" can be used between "Map Range" node and "Ico Sphere".

R M K
  • 388
  • 4
  • 14