Help/Advices to get better into Geometry Nodes

I played a while around with geometry nodes and unfortunately don’t get really warm with it. For me it is really hard to “think” in a way, geometry node is intended to be used to get to a result. And whenever i find a tutorial how to solve it, i really think “no way to figure it out yourself!”, even if the soulution seems to be simple. Even or maybe precisely because I am a programmer, the most time it feels very counter intuitive to me …

For example, if i want to create random structures using curve primitives … the “programmers” way to think: create one random generated curve and then put it in a loop to generate as much random as i want … but it seems, its not intended to be used like this, since there are no loops or so. Instead, its about creating 10 different “random” curve objects and let a node “pick” random from this collection and place it along your points … even getting 10 different random values in a group seems to be difficult or even impossible to realize.

All in all it feels very laborious to get to even simple results and i don’t get to the point to leave tutorials and create it from my own mind.

Sorry, that should not be to blame geometry nodes from my side, but its a bit frustrating

So my question to you to solve this … do you have some tipps how to “think” like a geometry node-pro ? How do you tackle concrete task that you have to solve?

Best regards and thanks a lot

Hello !

Have you tried to do GLSL programming ? I’m not a programmer but the way it works look very similar to me. I think this way of working is called SIMD : https://en.wikipedia.org/wiki/Single_instruction,_multiple_data
And it’s how GN and Houdini works. Which might be different from what you’ve been used to do in programming.

Probably once you get used to that mindset your programmer mind will help you and it will be easier for you.

What helped me in the beginning was to do a lot of training on solving very simple problems. Without having a practical goal in mind (like modeling something or making a particular effect) . Stuff like, how to trace a circle from a line ?
How the raycast node works ?
How to isolate points that are inside another mesh ?

And of course looking at tutorials to see how people use the tools.

What could help too is to incorporate small geo nodes stuff in your own work, like using it only to scatter some grass on a bigger scene, or do shading stuff using an object’s proximity… rather than doing something 100% with nodes first.

And once you manage to solve simple problems you can start looking into more practical examples or bigger challenges, that are just a combinations of more problems to solve.
For that I think preparation , planning and testing is the key. But this is probably something obvious when doing programming, maybe a bit less for artists.

Hopes that helps a bit, it’s hard to get into but once it’s done this stuff is really fun and addictive !

4 Likes

Ha, ha I second that, it can apply to Blender/CG in general and the dev’s keep feeding us new toys to play with! It’s like feeding gremlins after midnight. :rofl:

2 Likes

So maybe sometimes i think it too complicated or too general. As programmer you always wanna find a solution where you don’t repeat yourself whereas in many geonodes tutorials you copy stuff over and over again. So basically i miss somehow the ability of iteration.

Thanks for you tipps, i’ll give it a try. :slight_smile:

1 Like

You can create nodegroups that are similar to functions to avoid repetition.
But its probably a bad idea to create as much of them as you would in a piece of code.

At the end of the day, even if programming and visual scripting / GN share a lot in common it’s two different things, so I’m not sure applying 100% the same logic is a good idea.

In houdini people tends to go back and forth between nodes and code, since it’s easy to add a scripts that acts as nodes within a graph. So I bet the most efficient ways of working is to be able to jump between different ways of interacting with the 3D scene. Being manual, with node, or code.

Have fun !

Think as an engineer then: you have a bunch of “logic components”, or “building blocks”, or “functions”… and a bunch of wires to connect them. Solve the puzzle, instead of writing a program =)

Two things which are required: understanding of what basic vector algebra operations (addition, subtraction, dot, cross, scale) are used for, and knowledge how Blender mesh is constructed (nuances like face corner count isnt equal to vertex count,and what data goes into what “domain” (subobject type)). And practical application, of course, however small. About the loops, geonodes so far can only do loop iteration through existing domain elements (like, all vertices). If you need arbitrary number of something, like curves, there is Points node that lets you generate n points that is later can have instances of object generated on them