Geometry Nodes

This is another method but results in overlapping instances as well (4 per instance). Until we get remove doubles or a face centre analyser node there’s not much to do though

Hey,
for sure i am a little bit late to the party. But it is so hard, to follow all the new stuff going on with geometry nodes, that it happens answering to an two week old post.

But maybe someone still interested: Have made a workaround node-group a while ago that turns faces into points. It is very similar to Erindales method, except that it gets rid of the overlapping instances.

Beeing a bit surprised that the only God worth to believe, the God of the noodles himself did not see it (What will happen now? Will Heaven fall down? Will the Pastafari movement disintegrate?).

By the way many thanks for the enlightening tutorials!

9 Likes

Oh damn that does work but what a jank solution :joy:
We just need face / edge centres nodes really

5 Likes

I propose a ‘point cloud’ primitive for geometry nodes.

Assuming that the fields and unnamed attributes branch will eventually be in master, the index attribute will make creating math setups in geometry nodes much easier. This means that a line node is no longer required.

Sure, the mesh line works, but it would be nice to work with the viewport visualization of points. Currently, the solution is converting the mesh to a curve, and then a point cloud. While this works, it requires an extra conversion. I would much rather be working with it from the start.

Left: Mesh with edges. Right: Point cloud.

So here is my idea for the node:

  • 1D: Create all the points at 0,0,0. Seed randomizes the radius.
  • 2D: Create all points on a 2d plane. Seed randomizes the x location, y location, and radius.
  • 3D: Create all points in 3d space. Seed randomizes the x location, y location, z location, and radius.
8 Likes

Hey folks, i’d like to have a “Lean in” or “Lean out” for particles that are near the border of my scattered area,

It is quite tricky because it means that we could :

  • procedurally detect particles near scattered area borders
  • find correct direction for the tilt

so imho this is completely impossible to do such effect procedurally

3 Likes

A Derivative node would be amazing for that. The node would look at said value on neighboring vertices and taking edge length into account, find a general “flow” direction vector. Could be useful for many things.

You could manipulate the mask to only select the low values. If it’s using “binary” values, maybe if we had an Attribute Blur node, you could spread out the edge and mask out the middle. Or attribute proximity somehow.

For now, if you used noise to generate the mask, you can try finite difference method to make your own derivative node. Maybe I’ll try that. (actually, a random idea - Transform > Attribute Transfer > finite differences… so it could work even for vertex groups?)

3 Likes

You could do that with the proximity node. It will take the nearest particle, then you apply the rotation to the inverse position. I think it is currently possible with the proximity node.

2 Likes

Both these are made with the Fields prototype, it was just easier for me.

Using noise texture:

Using vertex group:

7 Likes

a new neighboring attr node that would return number of elements nearby and their average values depending on a radius parameter would indeed be extremely handy

Btw nice work above,
not as procedural as it should be tho as it needs a mask info

3 Likes

Yeah, at least some Smooth node that would work with any attribute, not just position. I’m looking forward to that. And thanks!

https://developer.blender.org/T86903

Now I found that it might be in progress?

https://developer.blender.org/D10951

1 Like

Where can I get that theme? It’d match up with UE5 UI nicely :slight_smile:

1 Like

You know what? You are the second person to ask me :slight_smile:
I’ll try to post it to Call for Content: Themes soon-ish, but here it is:

5 Likes

Is it possible so it work indiferently from vertex-groups or texture?
let say that you don’t have access to this info and only have the masked points ?

The technique is cool but it require to manager every masks,
i was expecting that it would be maybe possible to check how many particles there is nearby, so if there’s not a lot that would mean that we are near scattered area border

Then I guess the Proximity node would be your best option. Basically the Distance output of Proximity would be your new mask (edit - I mean the distance remapped to some useful values). Or something like Kdaf suggested, I haven’t really tried any of that.

How can it work on itself?
Because the attribute it produces don’t add up this cannot work i believe
I have a hard time understanding how it could work,
it’s like trying to weight something while standing on it, you can’t measure it properly while still being in an “internal” point of view let say

Ah, yes, I see what you mean. Haven’t thought about that, sorry. I guess we really need that Smooth node - after blurring the distance attribute, it should be possible I think.

Not sure if anyone has mentioned this already, but why is this back face pointing outwards by default?


I can scale it with -1 afterwards or rotate the circle by 180 beforehand but it feels weird.

4 Likes

It depends on the direction of the curve. Try adding a Curve Reverse node after the circle generator.

I guess that’s equal to:

To be honest I actually want the devs to change the default direction so the backface would face inward by default. It does not even need to consider backward compatibility, since the curve primitives are only introduced after 3.0, which is still Alpha right now.

1 Like

Okay the auto scrolling behavior when you move a node on the edge of the window is so annoying that I actually want to make a complain about this. I understand why this feature exists and I see how it can be useful. But now it is just too sensitive and annoying, see this video:

Can this be less sensitive?

12 Likes

Yes, “smart” features like these end up being cancer more often than not. It’s almost as bad as the existing wires automatically reconnecting to the next slot when you plug a new wire into that slot :slight_smile:

This scrolling should only happen when the mouse cursor actually exits the editor area.

2 Likes