Geometry Nodes

That’s the most interesting part, sampling the hit geometry

1 Like

Great! I will definitely be trying that! Thanks a lot.

1 Like

Now, this is what I can call a tree generator!

8 Likes

Does anyone know how (or if it’s even possible) to output the total number of vertices in a geometry? kinda like the curve length node but instead of outputing a length it outputs the total number of points in a mesh?

Once this one is done https://developer.blender.org/D10202

1 Like

Thanks. I’ll keep an eye out for this

I don’t suppose there’s any way yet to expose an attribute outside its geometry. say for example I wanted to use the position of a point (or group of points) from a geometry to manipulate a different geometry’s scale. Is this something that isn’t possible yet too?

The attribute data transfer can do this.
https://docs.blender.org/manual/en/dev/modeling/geometry_nodes/attribute/attribute_transfer.html

1 Like

This seems slightly buggy, it does not seem to update the final geometry properly, I can only get it updated if I go into the edit mode and back to the object mode of the parent object (it is a single vert in my case)

This is a good trick imho. I tried to instance mballs in geonodes before without luck, even filed a bug for it.

The nice thing about Metalballs is that there are more shape variety like cubes and capsules.

Houdini dude…

15 Likes

Woa! I don’t believe this! thank you so much! that was exactly what I needed

It might not have been designed for it, but it enables interesting stuff in motion graphics. I made this test with it :slight_smile:

20 Likes

Yeah, I noticed that too. I solved the update with re-enabling instancing.
My guess is that this is not the problem with MBalls but with instancing.

The metaballs normally does not support instancing (like being instanced inside an instanced collection) . That must be the reason.

I just added a smooth modifier to the parent with a frame expression on the smooth amount (it is a single vertex anyway) , that forces an update on each frame which is easier than toggling stuff manually.

1 Like

I made a box mapping node group for 2d textures, that can be used for displacement and has side
blending option


shadder node setup that it was based on:

Blend file:
boxmappingGN.blend (234.7 KB)

16 Likes

Something like this should be default.

So, um, I’m trying to do a thing again.

I have a bunch of points. I want points that are higher to be smaller than the points that are lower. How do I scale Points based on their worldspace position? How do I get a thing’s position to begin with?

…Why is this thing so damn unintuitive? Why is there no Point Info node I can grab a Position value from? Why does NOTHING have sensible outputs, but instead forces you to use these silly text fields for attributes?! What are you meant to plug into the blue sockets if nothing outputs that type?!

/me bangs head on keyboard in frustration

3 Likes

The logic is that you’re passing the the geometry between each node and adding or modifying all the geometry attributes as it goes. f you had to manually request data with extra nodes, the node tree would very quickly become a un-usable.

Nothing. If it’s creating an attribute, type a name to assign it to. If it’s reading an attribute, click the field and select the attribute. If the attribute you need isn’t available, think about how you could get it by adding nodes earlier in the chain.

Here’s how you can drive instance scale with position. I’ve also rigged the scale range with a couple of nulls.
scale_by_location_example.blend (890.8 KB)

3 Likes

Create an attribute separate xyz. Input “position”. Output something in z. Let’s call it “s” for now. Add a point scale. Input “s”. Done. If you’d like, you can add in an attribute color ramp or curve map in between the sep xyz and point scale. Input and output s.

If you don’t like typing in the strings every time, you can use a string node and plug it into the socket. This let’s you reuse a string vey easily. (And remove it easily in case of a node group. )

The point info node is a very good idea. It could output the strings of the important point attributes.

1 Like