Geometry Nodes

giphy (1)

Oh nice! is it available under GPL somewhere?

Or a way to delete attr :hugs:
I hope there’s a task for it

BTW everyone,
Entagma, famous Houdini tutorials makers, just released some cool tutorial on Geometry nodes

It’s really interesting to see veteran Houdini users taking a look at Geonode

edit:
Ha !

It’s true, when watching the second tutorial, adding all these math nodes looks quite awkward

8 Likes

We could also consider adding an Attribute Delete node. That may be one way to optimize node trees in the future, since all of those attribute may have to be copied and interpolated later on in evaluation.

7 Likes

omg Entagma are on Blender ! That’s consecration right here !!

4 Likes

That would be really useful actually just to have a multi-input socket I could plug all the string nodes into at the end of each tool. The Attribute Vector Rotate one is definitely my worst culprit though for adding ~20 attributes

2 Likes

I have a question about the longer-term goal for geometry nodes and its relationship with modifiers. I find it very tacky right now for geometry nodes to behave as just one of the many modifiers. It seems like the best approach, long-term, is to reimplement all the existing modifiers as geometry nodes. Then the entire Modifiers tab can become the Geometry Nodes tab (or the Geometry Modifiers tab, or whatever is the best naming choice). Since it’s often nice to have access to quick modifiers without having to dive into a node graph, the future Modifiers tab could just show the graph in tree form, just like how the Materials tab shows your active material in the form of a tree (where you can expand different properties to see the settings for each upstream node).

Is what I described here the plan? Because hiding the geometry nodes feature as one of the many modifiers amongst all the others is really a bad way to integrate this major feature long-term.

4 Likes

Yep, some expression evaluator could be great to have, as long as it’s as fast as native nodes and it slow down things :slight_smile:

Yes, especially given that there are separate ones for floats and vectors :slight_smile:

Sharing few ideas on how Geometry nodes could support workflow involving Curves. What do you think guys? Please don’t hesitate to ask if something isn’t clear.

9 Likes

Great showcase! I would also love to see the even spacing option with curves. This is extremely important for architecutural / built environment design as you often need to define spacing or number. In Sverchok we have the Naturally Parametrized Curve node which re-samples the curve for us. Perhaps a similar approach could be taken with GN.

Above demonstrates selecting a specific number of points, and this demonstrates evaluating length to be able to input spacing:

2 Likes

Thanks @Erindale,

and this demonstrates evaluating length to be able to input spacing:


 but how does that work? In the example below, if I sample 5m long curve every 2m, then the distance between the last point and the previous point is just 1m.

It actually works more like a target (and minimum distance) than a fixed rule.

So in your case you can’t fit 3 x 2m in that length so you’d have 2, and 2 into that space would mean each one would actually have to be 2.5m assuming the start/end are immutable.

This is generally a better approach though for eg, calculating steps between floor slabs. If you know you don’t want to go under 155mm per step then you just divide the distance by that and floor the result. So floor to floor distance might be 3m / 0.155 = 19.35 steps so you go with 19 steps making each step up to 158mm high which is near your target and within building standards regulations.

1 Like

That’s the idea. But how the front-end of the modifiers tab will change is too early to say.

4 Likes

I have created a simple system to move part of object in Z direction. But when I distribute this object on another one, all the copies look the same.
Is it possible to randomize this attribute on every instance?

1 Like

At the moment there’s no way to transfer an attribute between objects. As you’re instancing it is literally copying the whole object onto that new position so it can’t be different (that’s why instancing is so performant as it’s only the one datablock for all of the instances)

1 Like

Using the single vert array trick here for bezier interpolation and some extra fun. I was hoping the Skin modifier would work after Geo Nodes on the real geometry and just ignore the instances. I have definitely done this before but I think it stopped working when instances started being available for eg remesh. It still works in 2.92:

I resorted to using the edges to pipe node in Sverchok which worked fine but not in real time. That would be a very welcome node to have in the long term. Similar to wireframe but it works without needing faces, just edges and much lighter than skin because it doesn’t create all the unnecessary edge loops / mark root etc.

14 Likes

I’d second that, often something I have needed in the past. Skin modifier only goes so far.

1 Like

This is getting really interesting!

I was just going to ask whether you were able to accomplish this completely in Geometry Nodes. Is being able to pipe the only thing missing?

2 Likes

I am controlling the array modifier count with drivers from Geo Nodes. The input object is just a vert extruded in X by 1m. Array is set to merge so it results in a joined line of verts which is how I’m able to generate the continuous lines for ropes. And then those edges to pipes with Sverchok. A line primitive node will let me do away with the array and drivers completely though so then it’s just the issue of skinning the ropes.

Now in 2.93 if add some of the modifiers on top of GeoNodes, Blender threats the whole stack as a real geometry, but, unfortunately, it erases everything it needs to apply the Skin modifier on top.

I’m waiting for that feature desperately since it’ll make it possible to create procedural ivy.

3 Likes

Hi, if it can help !

Hi guys i am not a dev of blender but an hardcore user :slightly_smiling_face: . I am mechanical designer and i do parametric work. I succed to do parametric way with modifier and driver.
After breaking my head to do CAD with blender when i discover it, i break my head again on GN. After the first braking head i realised something crucial to do CAD with blender (create a cube, go edit mode, put all the verteice to 0,0,0 and use modifier and driver (You can’t use driver on dimension in blender that why vertice go to 0,0,0 before modifier stack). It’s a perfect workflow for CAD since you do all modification of the volume with boolean (thx to the new boolean system). So i understand the first thing, if you wanna do parametric work with dimension you have to play with modifier (clearly say for non destructive) with driver (implicite for designer) but you have to forget edit at the moment of you put a modifier because scale is not dimension. So you have to do the 0,0,0 modification in edit mode i said above. So ok, i have a parametic workflow than i have with Fusion 360, Solidworks, Catia, Topsolid, Sketchup (I draw a lot, for 3d print at home. I do draw in sheet metal and milling). But wait, I have better with a free sofware in fact because, since you have taking a different way of thinking with the building of a volume shape , (not plane extrusion but volume modification) you make driver so much accessible than the CAD software. The main difference beetween CAD and mesh is just the format now (step vs mesh). But CAD is born because of limited ressource in the machine and allow because we can turn a perfect cylinder, that why CAD almost always start from plane for extrusion or revolution. But with 3D printing and 5 axe milling mesh is what you need for fabrication. Because you do driver so well, you can easly do parametric morphing shape (like cast modifier) (file not clean but with the way of thinking here drive.google.com/file/d/1pTYFDrHBH-KaxU5Y_-daJ-lu0SDOtLme/view?usp=sharing). And physic for free without limitation in CAD, no way, they restrict the free acces now (marketing phase is finish).
Now i gonna speak about the second breaking head the GN project. Drawing with node like i do with node-red and blockly for IOT when i program. I am realy interrested. So i investigate. 1st, I try to play with driver to link the modifiers stack and the GN project but no way. You can put a driver of a node but when you connect the socket, you understand one thing. The driver handle the default value of the node. *** really, it’s desired? That mean i can never use GN to do my scripted expression with node. Bad thing i think. But because of that i understand the second thing wich is crucial to work with blender and parametric way in GN and it’s realy more fun than with the modifier stack. Forget the surface, it doesn’t exist. Take a cube and duplicate it for boolean dif. Because, with 3 cube, you can create a triangle prism and repeat that to create a tetrahedron. That’s means you can do everything. I think you must solve the issue of the driver and default value input node to free the power of GN. I think you gonna look node-red and it’s collection of node. You have the subflow with the node group but nothing like management palette where you can have node of the community. It can be great to integrate a system like that in blender since node is just script, it’s lite. I think, clearly say the two point that i expose you above save lot of time for users.
I wanna finish by congratulate the des for the work, blender is magic :slightly_smiling_face:. I also have some time to spend to participate to the blender coding aventure. My goal is to use a gantelet than i made with IOT and 3D printing and a vocal assistant like mycroft and node-red to communication beetwen the 3rd (blender, gantelet, vocal assistant). Like that i wanna draw in VR world, with my hand and my voice for pen. Integrate vocal UI is already done with node-red for my ERP. To integrate that communication with node-red, i wanna script a http node for GN node to handle the data of the gantelet and the voice assistant. Do you have some advice for a starting point to script node ? Thx a lot for the work guys and sorry for the book post.