Geometry Nodes Development Discussion

The behavior has been reported as a bug today

Looks like you can’t get a stable normal alignment in relative space

2 Likes

Oh. I was hoping to be able to do that… guess i’ll wait for a fix :sweat:

Do you guys also know if it’s possible to do that in geonode? i would like to be able to tell the object type, i’m working with empties and i’d like to filter out non empties object in the coll

1 Like

This is a very good development, in my opinion.

5 Likes

yes, jolt sounds promising.

bullet seems to be quite abandoned since a while.

2 Likes

Yes, even Bullet’s creator on Twitter recommends Jolt. Performance seems better, so that could eventually improve the physics sims situation in Blender.

5 Likes

I love geometry nodes - but find myself falling back to py.

I have some new workflows I have been experimenting with - and found some things missing

  1. Delaunay triangulation of points (tesselation) ‘points to mesh’ 2d terrain and 3d point cloud skinning.
    (I used blenderGIS for this)

  2. vertex neighbor node - provides a list type of mesh vertices

  3. ability to sort a list by a second lists values or create and sort a list of tuple
    (edge angle in this case)

  4. the ability to itterate over a list and use data in it to set vertex positions.

2 Likes

The 2D case is kind of possible, see here. Though it is not exactly the most robust option, from my experience (probably due to floating point arithmetic).
In practice, the Convex Hull -node seems to silently ‘drop/loose’ input vertices, for large inputs (probably cocircular points).

I can recomend Open3d as a python-module to use for the task (assuming by “point cloud skinning”, you mean what is generally referred to as “surface reconstruction” in the literature).

For some usecases, you can create Points and missuse them as hacky data-container, including the possibility to use the Sort Elements -node.


But yes, handling arbitrary data in geometry nodes is currently ugly, hacky, hard to keep track of and cumbersome, at best.
We have the equivalent of user-defined functions (node-groups) but no equivalent to user-defined data-containers (e.g. lists, tuples), let alone datatypes (e.g. structs).

greetings, Kologe

5 Likes

“For Each” (“parallel loops”) upcoming:

15 Likes

‘vertex neighbors as points’ - could be used with this node group (signed angle)
to store the signed angle per point - sort the points
signed_angle_shader2.blend (1.1 MB)

then this new node - for each item in points - could be used to pop them back out using index and pi*2 / (number of vertex neigbors)

Particle Gravity 1 - Geometry Nodes - 4.3 For Each Alpha - 2024-09-09.blend (148.8 KB)
Quick and dirty particle gravity test. Seems to work like it should (i.e., with the flaws expected of this simple an implementation) but no guarantee that I was awake enough to get the physics right. Glad to have this capability, at least.

1 Like

Do you need to sample position and pass geometry from outside in second for-each loop? In Jacques screenshot seems like you can just plug in Position attribute as input and use it inside the loop.

Here few tests with new For Each node

Finding 2nd, 3rd, nearest points

2nd_nearest.blend (122.7 KB)

Finding nearest point with radius

self_nearest_radius_distance.blend (128.5 KB)

Also it seems you can’t easily access in this example vertex neighbors using topology nodes

You have to run operation for whole mesh and then sample the attribute which seems impact performance a lot.

16 Likes

Where do mere mortals find this node?

Is it an experimental build?
Its not in the new Daily afaik.

You can find it here https://projects.blender.org/blender/blender/pulls/127331#issuecomment-1289580

3 Likes

Thank-you downloading now…

1 Like

I think with this - one can do real physics collisions now?

(like bullet ridged body solver?)

next up is accelerating lookups for meshes that are needed but don’t change from frame to frame (cache geometry node does not cache bvhtree atm right?)

Efficient collision detection requires more than For Each. It is one of the core features of physics engines. Having an actual physics solver is still the way to go. Thankfully, there is currently an experiment with Jolt.

1 Like

For Each Element zone is now merged in latest 4.3a alpha build. It was redesigned and now have geometry sockets.

13 Likes

Which went live a couple of hours ago (almost half a day earlier than usual).

3 Likes