Basic geonode collision tree! Help improve please!

Hi guys,

I made a node tree that can deform according to target mesh, but it’s not really touching and it is too shallow… At least it’s blazing fast. Please help, this is my first real attempt at geometry nodes.

no need to realize instances. Here is a setup. I also filled volume with points so it reacts also to the volume.

collision-trial.blend (1.2 MB)

1 Like

Aww, do you still have Blender 3.3 or 3.4? Preferably 3.3, because the breaking changes in 3.4 are quite annoying to deal with. I will try to reproduce it in 3.3, can’t test your file yet.

hmm, yeah, I did it with 3.5. “blur attribute” and “distribute points in volume” nodes are missing in those versions. Try it with 3.5 then if you need to do it in 3.3 or 3.4 there are work arounds for those nodes.

May I know the workarounds? Because my current project would break too much if I switch to 3.4 or 3.5

here you go, this works in 3.4, also simpler no need to use empty.

there is a node group called “inside points”, in it if you replace “sample nearest surface” node with transfer attribute (nearest surface option selected) this should work in 3.3.

collision-trial-3,4.blend (1.6 MB)

1 Like

Thanks! I gotta ask though, why is there a crevice after the elevated area?

I think my tree for fake volume preservation looks better… if I only know how to make the surface not bump up toward target before contact… please see my blend file.

proximity geonode group.blend (1.1 MB)

it is from colorramp i guess, just put it there to show you that you can control proximity fall off with colorramp, maybe useful for example for surface tension kind of bump.

yeah all issue here is to keep it undeformed before the contact. That is why i kept “from min” and “from max” threshold very tiny. That ruins fall off so thats why ı ise “attribute blur/smooth” to smooth it. I am sure there has to be a better method.

In your setup it pulls the mesh, you need to push for collision, no?

I don’t have time for now, but I am sure there are improved better ways to do it. good luck

1 Like

I’m almost there. It works, but not for all faces yet. Blazing fast 2.4 ms

Result with 2 subdivision levels (after geonodes):

I ran into an incomprehensible problem. I am trying to select the area AROUND the contact points minus the contact point. The natural thing to do is to use Geometry Proximity’s distance value… but the values are not what I expected.

As you can see, vertex 12 is the contact point with the target sphere, but its distance value is 0.132 and the the points on the centers of other faces have values below 0.1. What the hell is going on and how can I select the area AROUND the contact points minus the contact point?

Edit grammar

I’m rather dismayed that only one person tried to help and that I had to figure out every detail by myself. Much brain power burned for this 2.4 ms collision + fake volume preservation tree.

Sorry, friend.
Mainly, person that are answering here are professional or really advanced users… they try to help the others on there free time.
you cannot say that… that’s not fair.


What is not fair? I just stated the actual fact. I had to dig the viewer for days to troubleshoot every problem of the relatively simple tree myself. I expected that there would be more interest for such a geonode function, but I’m mistaken. And unfortunately, canerasln’s tree became way too slow when ported to Blender 3.3. That is all.