Geometry Nodes Development Discussion

Animation Nodes addon has support for expressions such as these:

Having that kind of function for floats and integers at the very least would simplify Geometry Node setups greatly.

12 Likes

yeah, that is nice.

Sure ! Iā€™m pretty sure this has been discussed at some point , IIRC it was stated that it was a bit early to tackle that. Since itā€™s also possible to add some more advanced scripting (like houdiniā€™s vex) at some point. Some good choice for the base language is needed here. Python will probably be too slow, itā€™s not easy to introduce a new language to blender, and even more a third one if we end up with one specifically for expression and one for more advanced scripting.

Take what I say with a bit of salt since itā€™s been a while that I see these conversation, Iā€™m not sure I recall everything accurately. Anyway Iā€™m pretty sure it will come to GN eventually, these little shortcuts to avoid adding 15 nodes to do something will come very handy !

Probably devs focus on adding core feature first and latter look at making things in a simpler way.

3 Likes

In my opinion this kind of thing does more than simplify the node setups, as it also makes math actually readable, since you can read it on one line and in the same order you would write it on paper in math class etc. I always get annoyed at how it feels like Iā€™m having to do math in reverse when using nodes in Unreal etc. :slight_smile:

3 Likes

Face Group Boundaries.blend (97.6 KB)

Examples of new Face Boundaries groups (Edges to Face Groups and Face Group Boundaries):

Defining edges at x=0 and y=0 to set material index. Using face z-position to define arbitrary face indices and then extracting the boundary edges.

9 Likes

15 posts were merged into an existing topic: Node inconsistencies

The flood of patches before the deadline for 3.5 feature freeze, mostly curves/hair-related but also teasers to the promises of everything nodes.

14 Likes

From blender.chat geonodes channel.

someone shared this and sends a big thanks to all you devs :slightly_smiling_face:

21 Likes

Geometry Nodes is also good for frosting those delightfully sweet slices of heaven we call cakes.

With curve profiles and OpenVDB, I can actually write stuff down and makes rings with true, 3D frosting instead of trying to see if I can make it work with microdisplacement (since it would be a nightmare to try to model it by hand).

Though I do admit, I am thinking more now about how to be lazy and make objects with nodes instead of actually doing it manually (even though in many cases it can still be faster to do it by hand than figure out the math, I know the virtue of building group nodes as you go along but that will take a while).

2 Likes

Come on Ace, I know you can do it! And make that no valence six (or higher poles), will you? :stuck_out_tongue_closed_eyes:

True.
And the other thing with the nodegroups is this: Often (in my experience) it is a very different thing to make a nodetree which works for that specific scenario you happened to originally create it for, vs. turning that tree (or part thereof) into a solution which works for the generalized case.

If it works inside of a specific surrounding nodetree, it may easily rely on certain assumptions (which therein hold) and making it avoid those assumptions (or enforce them etc.) is often a considerable cleanup-effort before you arrive at something to be a reusable nodegroup.

greetings, Kologe

Last of 3.5 patches.

  • Curves: move edit mode out of experimental. The new curves got its own edit mode. It currently supports basic selection, transform, and deletion tools. According to the commit notes, ā€œmore functionality of the old curve edit mode will be ported over in future releasesā€. Even at this stage I find it pretty useful as a aid of hair sculpt, because selection between them are synced.
  • Geometry Nodes: Operator to wrap a modifierā€™s node group. Wrap a modifier-level node group into a sublevel node group inside the editor with all inputs and outputs intact.

From this:


To this:


3.6 got a nice QoL patch.

8 Likes

I have a question. I have started to play with geometry nodes recently - and it struck me that some of the nodes would be extremely useful in Cycles material editor (particularly things like the ā€œRandom Valueā€ node).

Is there any intention to perhaps expose useful nodes like this across both geometry and material node editors?

1 Like

You can try to replace Random Value with White Noise Texture in Shader editor.
About porting parts of Geometry Nodes to Cycles I have no idea.

Yep - but the random value node has other options (like being able to output a random vector). Whilst you can cobble something together in Cycles nodes to do this - it would be cleaner (and more consistent) to simply expose the geometry node in cycles.

2 Likes

Yeah it would be awesome to try to have more uniformity when possible.
About the random node, in GN it randomize a value per point, edge , face, spline depending on the domain it operates on.

But in material it works a bit differently, we already have random per objects or island, per rays doesnā€™t make a lot of sense to me but who knowsā€¦ So per ā€œwhat ?ā€ the randomization should take place ?

As silex pointed out, I think using the white noise is the closest you can get, or you build an attribute using GN, which indeed adds clutter ā€¦

If there is anything that I would reeealy like in GN about Random Value is to have one for an instances. So we can randomize per instance aspects of the object before it is plugged into a socket on Instance on Points node.

2 Likes

What kind of aspects in particular ? I think as soon as the geometry changes they are not instances anymore. Or you talk about changing stuff knowing that youā€™ll end up realizing instances anyway ?

My approach for the latter is to cancel transforms after instancing and apply them back once all the changes have been done.

I think it would be difficult to avoid that, since before instancing we only have ā€œoneā€ master object to deal with. Or we can imagine taking an object, and using loops we might be able to make several variants of it and put them in a collection (geo to instance node ) out of it that eventually all that
get instanced using pick instance on each of these variants. Loops will definitely helps here I think !

What I meant was to have different random seed per instance in this setup for example:

2 Likes

yes ! In that case they canā€™t be instances since it will be different geometry.
You need either to create N variations using loops (when theyā€™ll be available) , or take care of the extrusion after instancing.

On top of that, when you do the extrude, there is only one object that latter get instanced, so Iā€™m not sure it would work even with a magic ā€œrandomize laterā€ node, if you see what I mean.

All that said, for sure doing these kind of things is very needed and not yet super easy, I think our best bet is to wait for loops that should solve a lot of problem there !

5 Likes

Not much more to add, except to point to an example of johnny doing it in the simulation branch. So with loops this gets quite easy.

3 Likes