Geometry Nodes

Anyone know how to get the second closest point using the geometry proximity node?

I am trying to find points that are close together to offset them and avoid overlap, so I want to run geo prox on itself, but this returns 0, as each individual point is indeed in the exact same spot.

any ideas?

ok soā€¦ this is too much fun to even express as words :3

1 Like

Well, seems it was already reported (I usually do a search before reporting a bug but not this timeā€¦)

anywaysā€¦ it has been fixed :slight_smile:

also: I love the new extrude node!

8 Likes

I saw a discussion about that in the chat, for circle packing. I think it was concluded it is not possible right now.

Hmm, thatā€™s a bummer. I was pleased to see that the poisson disc distribution takes multiple surfaces into account, so I was able to do a non colliding volume packing, but I have some moving particles I wanted to offset to reduce collisions. Iā€™ll figure something out. Thanks for the info!

You can do a sort of approximation by dividing your points into sections. The more sections the more the accuracy. Here is dividing into 2 sections

And here is with 10. It will be pretty unlikely that 2 adjacent points are in the same section.

Edit: You donā€™t need the capture attribute

2 Likes

Iā€™m planning to make a shelving unit using GeomNodes.
As base mesh Iā€™m using a simple edge (2 vertices) that drives the position spawning of the shelves system.
As any unit will be duplicated side by side, Iā€™d like to make the option to use or not the end pillar element.
To spawn the 2 pillar instances Iā€™m using the node ā€œInstance On Pointsā€.
First question:
-is it the right node for this kind of job? If not, what you suggest?
-if yes, it supports the option to spawn just 1 instance using just one of the points of the base mesh? if yes, how?

Thanks in advance

EDIT: Iā€™ve changed approachā€¦ Iā€™m using 2 mesh line nodes with a boolean input for the 2nd node. It seems working.

Here is some poor manā€™s circle packing with the previous method

6 Likes

Another general question.
Iā€™ve an object that has multimaterials applied.

When I spawn an instance of that object, the spawned one uses just the first material. Multi mat are supported in GeomNodes?

It should work. Can you show a screenshot?

It seems that ā€œJoin geometryā€ lose the textures, not multimaterial.

Here a sample file.
test_GeomNodes.blend (1.0 MB)

If you open the file you should see this

This is a issue with UV

But it solvable and I should study how to or is it a problem with GeomNodes?

itā€™s the same issue that was reported by the user that was building a bonsai generator?

Can you share your file : looks a little bit like sverchok pulga physics

Hi,
Iā€™ve a simpler scenario than yours but probably Iā€™ve more or less the same issue with UV.
I did a simple scene to share for testing and it is here Geometry Nodes - #2747 by marcatore

Do you think Iā€™m in the same situation?
Iā€™m trying to figure out how you solved but not clearly understood yet.

I am not really sure why its happening, but to solve it in your case you can either enabled ā€œAs Instanceā€ in object info node, or use UV map as attribute in shader editor

3 Likes

I figured out a better method. I will post that along with the file tomorrow

1 Like

I think if the ā€œdistance minā€ slider from poison disk could receive a weightmap (if it was a field and not a simple value), and if we use the same map to drive our instances scale we could achieve a controlled circle packing

Only work because of your grid tho :frowning:
I think what is needed is a proper implementation in cpp

1 Like

in other newsā€¦ freee marrssss!

in game*/ upbge

1 Like

Finally got time to finish it, enjoy!

8 Likes