@Erindale , another tip 😁: when you were checking to see if any selection were too small you didn’t have to separate the mesh (which is some i try to avoid. [messes up my indices, attributes, extra compute time, etc]). what you could do is the less well known node family called the "face groups to boundary edges" and "boundary edges to face groups". You first use the selection as a face group which you convert to boundary edges and then you convert it back; this gives you an ID per selection island, which you could usr with the accumulate field etc.
@@Erindale I still watch all your videos in hopes to get that aha moment some day. Thank you for putting out quality contents for free. I'll definitely be purchasing your Simulation nodes course once I get the hang of this.
@@hereb4theendthis stuff fits squarely into networked muscle memory, so what you'll want to do is go from the top down. Understand the broadest purpose of geometry nodes, and then understand the broadest purpose of the different categories of them, and then look at a bunch of things people have done with them, focusing on the results. Then without even knowing exactly what all the nodes are, you have a framework for what you have and haven't seen done, and where you'll most likely find the components you're looking for to get the effects you want, along with the names of some of the ones people use all the time like instance on points and join geometry. Then it's a matter of drilling some stuff into your head over and over until you might not realize how much progress you made, so if you get imposter syndrome or feel like you're not doing anything, it might help to keep objective progress reports. I sometimes feel like I haven't done a lot, but then I remember when I was even clunkier, and all the surrounding circumstances I tend to not factor in as much as I should, and I build a little confidence and get my head back in gear
Correction: Accumulate Field node's "Total" output does not tell you how many elemtns have been counted, it returns the sum total of whatever values it has counted up. When the Value is 1 as in mine, that means it added 1 per element which is why I worded it that way.
Your Boolean NOT is going to be the inverted selection but you still need to evaluate the mask everywhere. The selection sockets on Set Position, Store Named Attribute etc do limit the computation of the node operation just to the selection but, unfortunately, you can't get around evaluating where the mask actually is.
Thank you so much for this. Both for excellently bridging the gap between a lot of other geometry node tutorials and Being Actually Useful, and also for using the word 'indices' repeatedly! Seriously, I had a use-case I'd been trying to get geometry nodes to work for me on for a while and every time I tried I watched some introductory tutorial, went to have a play, and got nowhere and gave up - and it was always down to being able to actually pick apart the mesh to do the work on the right edges. I've been going back to it while watching this and it's already 90% of the way to where I need it.
That’s great to hear! Thank you so much. This is one of those areas that’s just not sexy so a lot of people don’t want to talk about it but it’s got to be one of the most important things to know when working procedurally. Well done getting your project on track!
Probably the most informative video on geometry nodes ever. I decided to finally learn them and so far this has given me every answer I was looking for when it comes to Geonodes basics
This video is full of points to learn which I've learnt just some of them so far. and by every time reviewing it I learn new thing, thank you for sharing this stuff.
Thank you! Yeah it took me some time to get fluent with geo nodes and I realised that it's really all down to being confident in what selection you're making
Me too! I'm making a model of a prehistoric animal that had a lot of fins and was stuck trying to get it to just extrude the parts that fins are supposed to grow from.
The tutorial was amazing as always, but finding out the most common and still yet least spoken issue and making a tutorial for it was even more brilliant! great job and thanks a lot dear Erin :)
Awesome tutorial. This is something what I was looking for. Giving a general information that can be used for problem solving instead just solving one problem. I'd like to see more tutorials like this in the future. This helps a lof for people like me who wants a deeper and behind the screen understanding for the nodes and math in general. I'd like to know more about the topology nodes as well. I'd like to know how you switched the connected socket from 'x' to 'z' so fast at 23:24.
grand. selections are an area where I seem to invent new struggles every time. this is super valuable and I'm sure I will trigger a few hundred plays in the near future. thanks for sharing!
Really great video. Just to note that for the 'expand selection' part, the Blur Attribute also does the job when you put it through a Vector Math (Ceiling) node, so no need for the Repeat Zone. (or you can multiply instead of ceiling for a more circular expansion).
Great Tutorial. Thank you! To be honest, your tutorials keep pushing me to the limits, so I always need to watch them at least two times. Once I get it, it's really satisfying...
Great video. Figuring out certain things about geometry nodes -- selections, how to conceptualize working on fields and operating on them with some precision -- has been the biggest hurdle so far. This helps.
Thanks Erindale, Your videos are really helping me do things impossible to achieve with built in modifiers. I hope you make a series about UV mapping especially mapping a "curve to mesh" geometry which uses a cyclic curve, I've been looking all around the web for a working solution but all of them work only in simple cases.
Try searching for it on my discord. It’s definitely something that’s been solved by a few of us. Fundamentally you want to create geometry that matches the topology in terms of face corners and then just transfer by index from one to the other.
@@Erindale I've tried this approach but the flat none cyclic curve results in 1 extra column of mesh indices compared to cyclic mesh. I'll definitely join the community and look for a solution. See you there.
@@Erindale I've tried this approach but the flat none cyclic curve results in 1 extra column of mesh indices compared to cyclic mesh. I'll definitely join the community and look for a solution. See you there.
Wished I watched this waaaaaay sooner! really love this, the way you explained and went through this was great -- didn't even feel like a 1 hour video. Been following your other tutorials as well and have been trying to learn bit by bit through different use cases but really glad to have come across this as a general knowledge tutorial which I feel is incredibly helpful also once you start moving into more specific use cases where tutorials might not be available for.
Gold. First, I'm so happy that I've managed to figure out a lot by myself, but there are things that couldn't be possible without you and other authors on YT. Mostly because of terminology. The math itself is not that hard, but learning the names of math ops, as a kid, in Croatian still gives me headaches when learning GN watching the tuts English. It's a lot easier for me to build node systems for terrains because I am not limited by numbers that much and that's where my brain has all the artistic freedom it needs, and, basically, I often make tools from my experiments and happy accidents. Anyway, for the 100th time - thank you.
I'm going through this again and thinking how you, as an educator, would have a special place in the world of architecture. Maybe even as an architect. I know you had that sort of content in the past, but maybe getting more specialised in that area is even better than focusing on games/cg market/industry. Just a thought.
@Erindale at least when I used it, if you compare greater than 0 and you converted it to a float, I haven't maxed out before blender slowed down significantly. and yes, the iteration matches the steps perfectly. it uses topology to smooth, so smoothing depends on topology density and always follows the topology
wahooo, I have zero knowledge in programming. But this course is just master class. Thanks a lot ! This base will let us learn geometry node. Great explanation, considering I'm French native speaking. again Thanks !!
a really concise roundup here thanks... i think it mostly just clicked for me now prob the last tutorial i need (he says) the docs on these are so bad (literally almost 0 examples, just a small description, if you're lucky a "hint"), so this is great
Thank you, thank you, thank you! I am leaning Geo Nodes and up until 40th min I could understand and replicate almost everything from memory, but after that it become much much harder for my level - anyway will go systematically with you other tutorials and resources and try again in few weeks.
Hey Erindale! Great tutorial and I learned a lot. Thank you very much! I have a question regarding selecting the UV Seam. I'm trying to select the UV seam to use it to split the edges in GN. My setup is basically getting the UVmap attribute from the group input and then run it through an evaluate on domain node with data type as vector and domain as points and then send it to a compare node and compare the UVmap original vector with the new evaluated one with a compare node with the Element-wise mode and Not Equal operation and capture the result from the compare node with a capture attribute node set to Boolean Data Type and Face Corner as Domain and use it as the selection for the Split Edges node. So far it seems to work in selecting the seam if the seam is going through a full loop cut but if it’s a partial loop cut it seems like it doesn’t select the final edge of the seam and it stays welded. I tried many different ways but I couldn’t get to select that last edge. Any idea how to get around this issue? Thanks in advance.
This is kind of a hack and it won’t be as performant as purely doing it via data, however, if you capture the original positions, split all the edges, set the positions to the UV map locations, merge by distance, and then set the position back to that original position, you’ll have the split edges where the seams have split the UV islands
Thanks for the video! Ive been trying to work out if you can take a selection and transform it, ie move it, scale it and deform it. I'm aware all a selection is is a a 'True' or '1' against a vertex (or face etc) . So moving a selection means moving the value to the next vertex in a given direction. I know that if you want to move a selection, you're best to do it when your setting up the selection (i.e. if you're creating a selection with the raycast node). But it would be very useful to be able to take a defined selection and transform it. The only example of this type of transform I can see is the expand/contract operation covered in the video (others like higgsas have also implemented) It's hurting my brain trying to work out if its possible to do this, as your moving values across a mesh rather than moving the mesh itself! 🤯🤯
With mesh topology nodes you should be able to check if the neighbour is selected or not and change the current selection state based on that. The issue is that you’re going to need to do a bunch of selection-specific weights to make sure you’re checking against the correct neighbours for that specific selection on that specific topology… good luck 🥹
@Erindale that sounds horrific. haha! I had a vision of creating selections, using Boolean operators to 'shape build' the selections, then move / deform the built selections as a final step (tweak). Looks like this final step is going to be limited to expand/contract (I'm not mentally capable of implementing your suggestion). Appreciate the response! 🤝👌
It's hard going but I think I'm starting to get the hang of the concepts. I like the way it teaches the fundamentals, not just press this, press that but explains the thinking behind it. But I'm a long way from being able to do it on my own, maybe one day!
Hi, I've done loads of geo nodes tutorials and I've found this to be by far the most useful (and as you said foundational), thank you. On completion of the final Flatten Region Exercise, I'd like to have a selection of just the flattened regions (on the final mesh) so I can instance on just these regions (trees, buildings, that sort of thing). I've had a go and failed, tried Sample Nearest, this selected the entire mesh. I know I would succeed using Raycast (by using 'Is Hit' with rays from the final mesh to the mesh islands (the flattened regions) displaced along the Z). Id like to avoid this way in order to keep the method general as I don't want it to break if I change the mesh size, orientation etc. Was wondering if there was a simpler/more elegant solution that sprung to mind? thanks.
Thanks so much! What I would do is capture the selection attribute before flattening the regions. That way you have it essentially fixed in a point in time. You can use this captured attribute after they’re flattened
Make sure that you are connecting your viewer automatically with the hotkey so that it makes the right kind of socket. You see when I first drop on the white noise node that it shows black because it had been previewing an integer before. Then I recreate the connections on the float (grey socket) and then click again to get to the color (yellow socket)
Hey, great topic and deep dive. I noticed the pile of books behind you and since im a huge fan of 7 habits of highly effective people, i wondered what the rest of the books are.
In this stack I have Building a Second Brain by Tiago Forte which I definitely recommend. Also Deep Work and So Good They Can't Ignore You (by Cal Newport), The Freelance Manifesto (Joey Korenman), Eat That Frog (Brian Tracy), and Getting Things Done (David Allen)
Great tutorial, this is not a very intuitive way to work but with practice, I can see myself using this. I really hope that GN developers make things easier in the future !
Is there a way to use multiple vertex groups so that I can cycle through defined sets of geometry? (I’m trying to adapt a setup that just breaks a mesh up based on each face to use larger pieces that are more representative of how the object might come apart) - I’ve knife projected the pattern I want onto it so creating the groups might be a bit laborious, but at least I’ll get the result I intend 😅
I would name your vertex groups with integers like 0, 1, 2, 3 etc. Something very simple like that. Then have a node group that has an integer on the front. Inside, plug that integer into a value to string node, then the string into a named attribute node. That'll let you cycle through the groups. If you want a more complex name then you could use an index switch node and plug multiple different strings into it and cycle through that way
Another superb tutorial, thank you. Using the Normal method, with either a Direction or Dot Product comparison, I can select lines (/faces) of latitude on a sphere or torus - but I can't figure out how to adapt that to select lines of longitude. Any ideas?
Take the normal, multiply by (1,1,0) to negate the difference in vertical direction and then normalize so each band has the same vector on it. The you can compare against a horizontal vector to make the selection
The vast majority are the same, and all should still work. There may be some optimisations you can do with new nodes though. A lot of curve topology nodes and little hacks with the accumulate field node for example
Hey Erindale! Great tutorial and a lot of info. Thank you very much! I'm currently trying to make nodes for converting text objects to Neon Geometry. And stuck on the Neon ends. Which have to be bent backward from the letter plane. Main issue after i;ve deleted segment by using Endpoint Segment node for defining that segment. I have to move the ends backward. That is not a problem too with Set Position + Endpoint Segment nodes. But I also need to move that ends straight under the next points at the curve to make a straight angle between ends and letter plane. And I can't catch that, how do I get the location of the next points and use it for the positions of the ends. I'm a beginner here and might I've chosen the wrong way?
One potentially easy option would be to convert to mesh without a profile so you have an edge, use the extrude mesh node to extrude back as far as needed and then convert to curve to continue. You could even use the filet curve node to round that corner to the extrusion
Thank you Erindale! Many ways, and some of them are not so oblivious at my level. Looks like I have to learn the basics better. Then I will see.@@Erindale
excellent as always - but what is the difference between a 'float to integer' node and math node set to floor? don't they both just truncate the thing (by which I think I mean chop off the bits after the decimal point)?
The difference is how the data is literally stored in memory. Floats have floating point precision error so it just depends on your requirements. Functionally they’re so similar that if often doesn’t matter. Storing as integers will be more optimised
Thank you! I think that GN is a amazing tool, but people at Blender foundation should start thinking about a more intuitive way of working with data. In my opinion lists should be the way to go. For example, Grasshopper for Rhino is just way easier to manipulate your data.
It’s a different methodology and both Houdini and grasshopper (which is essentially a pythonic data flow) were considered. Once you’re fluent with GN you’ll find that a lot of things work a lot better and more intuitively because you’re specifically not needing to work with the data yourself. It’s handled inherently in the workflow
Hey, @@Erindale. Thanks for your feedback! Yeah, I think I'm trying to figure out GN logics with a pythonic dataflow in my mind, as you said. I think it make things a little harder, but I'll figure it out with time. By the way, your tutorials are helping a lot! Thanks!
Great tutorial as always, thank you for that. I have a question - why does the float to integer node even exist when the exact same operations can be done with the regular math node? Is it more lightweight, or is it something else?
Integers are not susceptible to float rounding errors. It's easy to think of numbers as numbers like how we see them but computers have to do some trickery to actually store them. That's why on the compare node when it's set to float, equals, there's an epsilon value. Asking a float when it equals exactly itself will often fail due to some small decimal part being different. Integers also take less memory to store so it can be an efficiency gain, especially on very dense geometry
@Erindale , another tip 😁: when you were checking to see if any selection were too small you didn’t have to separate the mesh (which is some i try to avoid. [messes up my indices, attributes, extra compute time, etc]).
what you could do is the less well known node family called the "face groups to boundary edges" and "boundary edges to face groups". You first use the selection as a face group which you convert to boundary edges and then you convert it back; this gives you an ID per selection island, which you could usr with the accumulate field etc.
Huh I did not realise there was a boundary edges to face group node now 🙌
@Erindale I'm thinking about how many nodes you used and how two nodes could probably replace almost the whole thing 😄
This video is pure gold in the form of zeros and ones travelling through the internet!
one of the best, if not THE best, yet underrated, advanced yet prescinded geometry nodes tutorial. So very useful and valuable info! Thanks erin!!!
I use to think that I'll never get a grasp of Geometry nodes. But after watching this, I'm now certain of it.
😂😭
@@Erindale I still watch all your videos in hopes to get that aha moment some day. Thank you for putting out quality contents for free. I'll definitely be purchasing your Simulation nodes course once I get the hang of this.
@hereb4theend I recommend joining my discord server so you can ask people directly when you run into issues. It'll help accelerate you
@@hereb4theendthis stuff fits squarely into networked muscle memory, so what you'll want to do is go from the top down. Understand the broadest purpose of geometry nodes, and then understand the broadest purpose of the different categories of them, and then look at a bunch of things people have done with them, focusing on the results. Then without even knowing exactly what all the nodes are, you have a framework for what you have and haven't seen done, and where you'll most likely find the components you're looking for to get the effects you want, along with the names of some of the ones people use all the time like instance on points and join geometry. Then it's a matter of drilling some stuff into your head over and over until you might not realize how much progress you made, so if you get imposter syndrome or feel like you're not doing anything, it might help to keep objective progress reports. I sometimes feel like I haven't done a lot, but then I remember when I was even clunkier, and all the surrounding circumstances I tend to not factor in as much as I should, and I build a little confidence and get my head back in gear
The nodes are more scared of you than you are of them
32:17 - "Just a little bit of esoteric knowledge..." The very _best_ kind of knowledge there is!
Correction: Accumulate Field node's "Total" output does not tell you how many elemtns have been counted, it returns the sum total of whatever values it has counted up. When the Value is 1 as in mine, that means it added 1 per element which is why I worded it that way.
Is it possible to force blender´s geometry nodes to NOT calculate specific regions?
@@blendcreator exactly in that boolean math where erindale showed and told you can use them by ENGLISH there is a NOT option ;)
Your Boolean NOT is going to be the inverted selection but you still need to evaluate the mask everywhere. The selection sockets on Set Position, Store Named Attribute etc do limit the computation of the node operation just to the selection but, unfortunately, you can't get around evaluating where the mask actually is.
Thank you so much for this. Both for excellently bridging the gap between a lot of other geometry node tutorials and Being Actually Useful, and also for using the word 'indices' repeatedly!
Seriously, I had a use-case I'd been trying to get geometry nodes to work for me on for a while and every time I tried I watched some introductory tutorial, went to have a play, and got nowhere and gave up - and it was always down to being able to actually pick apart the mesh to do the work on the right edges. I've been going back to it while watching this and it's already 90% of the way to where I need it.
That’s great to hear! Thank you so much. This is one of those areas that’s just not sexy so a lot of people don’t want to talk about it but it’s got to be one of the most important things to know when working procedurally. Well done getting your project on track!
Probably the most informative video on geometry nodes ever. I decided to finally learn them and so far this has given me every answer I was looking for when it comes to Geonodes basics
This video is full of points to learn which I've learnt just some of them so far. and by every time reviewing it I learn new thing, thank you for sharing this stuff.
Selections… the topic i most need for GN! Many thanks.
Thanks! I think this is going to help a few people out here
oh shit this was exactly what i was looking for, for one of my projects. thanks a lot!
No one explains this complex node stuff better than you erin..
Thank you! Yeah it took me some time to get fluent with geo nodes and I realised that it's really all down to being confident in what selection you're making
Me too! I'm making a model of a prehistoric animal that had a lot of fins and was stuck trying to get it to just extrude the parts that fins are supposed to grow from.
you deserve a million subscribers
Thank you 🙏
You legend. This is the single best geo nodes tutorial I have seen and I wish I had it years ago.
The tutorial was amazing as always, but finding out the most common and still yet least spoken issue and making a tutorial for it was even more brilliant! great job and thanks a lot dear Erin :)
Haha thank you 😁
I could learn so much from you man, this was more than enough to properly introduce fundamentals for geometry nodes! Keep up the great work!
You are officially the best. Others abide our questions, you stand alone.
Thank you so much
Awesome tutorial. This is something what I was looking for. Giving a general information that can be used for problem solving instead just solving one problem. I'd like to see more tutorials like this in the future. This helps a lof for people like me who wants a deeper and behind the screen understanding for the nodes and math in general. I'd like to know more about the topology nodes as well.
I'd like to know how you switched the connected socket from 'x' to 'z' so fast at 23:24.
Alt+S cycles the input noodle through the sockets
grand. selections are an area where I seem to invent new struggles every time. this is super valuable and I'm sure I will trigger a few hundred plays in the near future. thanks for sharing!
That's great to hear! I see a lot of people struggling with selections, both beginners and professionals. You are very much not alone
@@Erindale thanks, glad the devs added a way to visualize selections a few versions back. Paired with this video, I should be able to get up to speed
15:38 🤯🤯🤯 This is what I've been trying to figure out for WAYYY too long
I had many selection questions, you answered them all, and added lots more to consider. Excellent tutorial! Cheers!
Glad to hear it!
Really great video. Just to note that for the 'expand selection' part, the Blur Attribute also does the job when you put it through a Vector Math (Ceiling) node, so no need for the Repeat Zone. (or you can multiply instead of ceiling for a more circular expansion).
Thanks for the brilliant tutorial, I did not realise the subtle power of the accumulate field node until I watched this, cheers!
Yeah it's amazing! A lot of advanced setups use it
Been waiting for a tutorial on geometry nodes that goes over selections for quite some time now, Thank you!
Great Tutorial. Thank you! To be honest, your tutorials keep pushing me to the limits, so I always need to watch them at least two times. Once I get it, it's really satisfying...
I’m happy they’re useful to you!
Great video. Figuring out certain things about geometry nodes -- selections, how to conceptualize working on fields and operating on them with some precision -- has been the biggest hurdle so far. This helps.
Thanks for this! Seeing what’s harder for people to grasp is very useful for me making content
As always , you're the only boss of the Geo nodes . 😊
Thanks so much
❤Jeeesus criest this is the BIBLE for starting work on geonodes... you are a hero. thanks a lot!!
Thanks Erindale, Your videos are really helping me do things impossible to achieve with built in modifiers.
I hope you make a series about UV mapping especially mapping a "curve to mesh" geometry which uses a cyclic curve, I've been looking all around the web for a working solution but all of them work only in simple cases.
Try searching for it on my discord. It’s definitely something that’s been solved by a few of us. Fundamentally you want to create geometry that matches the topology in terms of face corners and then just transfer by index from one to the other.
@@Erindale I've tried this approach but the flat none cyclic curve results in 1 extra column of mesh indices compared to cyclic mesh.
I'll definitely join the community and look for a solution. See you there.
@@Erindale I've tried this approach but the flat none cyclic curve results in 1 extra column of mesh indices compared to cyclic mesh.
I'll definitely join the community and look for a solution. See you there.
Wished I watched this waaaaaay sooner! really love this, the way you explained and went through this was great -- didn't even feel like a 1 hour video.
Been following your other tutorials as well and have been trying to learn bit by bit through different use cases but really glad to have come across this as a general knowledge tutorial which I feel is incredibly helpful also once you start moving into more specific use cases where tutorials might not be available for.
Thank you! Yeah as much as I love making the specific tutorials, it can be difficult to extract the general lesson as a learner
Gold. First, I'm so happy that I've managed to figure out a lot by myself, but there are things that couldn't be possible without you and other authors on YT. Mostly because of terminology. The math itself is not that hard, but learning the names of math ops, as a kid, in Croatian still gives me headaches when learning GN watching the tuts English. It's a lot easier for me to build node systems for terrains because I am not limited by numbers that much and that's where my brain has all the artistic freedom it needs, and, basically, I often make tools from my experiments and happy accidents. Anyway, for the 100th time - thank you.
I feel very lucky that I learned maths through Blender. I only really have the visual understanding of the functions. I’m glad the contents useful!
I'm going through this again and thinking how you, as an educator, would have a special place in the world of architecture. Maybe even as an architect. I know you had that sort of content in the past, but maybe getting more specialised in that area is even better than focusing on games/cg market/industry. Just a thought.
This was very useful and highly informative. Thank you for sharing!
Great video. I will definitely be returning to this for review for my projects in the future.
This has really turned on a lightbulb in my mind. I've learnt so much, thank you
I’m glad! Good luck
Excellent tutorial! That was extremely helpful and gave me solutions to some frustrations I'm having learning geometry nodes. Thank you!
I’m glad it helped!
@Erindale , Quick tip. use the blur attribute node for expanding selections. no loops needed 😉
I mention it but the iteration count correspond perfectly to the expansion steps?
@Erindale at least when I used it, if you compare greater than 0 and you converted it to a float, I haven't maxed out before blender slowed down significantly. and yes, the iteration matches the steps perfectly. it uses topology to smooth, so smoothing depends on topology density and always follows the topology
(To be clear, I haven't maxed out selection expansion at all even after blender slows down)
Super useful tutorial. Had to watch a few times and keep Geo nodes open on Blender to try selection tools at the same time.
This is definitely something worth learning well
Many thanks! these kind of videos that compile methods are easy to get back to
I don't think I can thank you enough for this tutorial it's so helpfull
Glad to hear that!
wahooo, I have zero knowledge in programming. But this course is just master class. Thanks a lot ! This base will let us learn geometry node. Great explanation, considering I'm French native speaking. again Thanks !!
Good luck with your learning!
I thought it is about time to start with geo nodes and this video i just so helpful! Thank you so much!
I really hope they will add a list node and list methods soon, great tutorial again! very grateful
There's definitely been some murmurs around that but I don't see it happening soon 🥲
Thank you! This is an incredibly useful walk through of how selection works!
Glad it's useful!
Erin Is my blender node HEROO!!!! thanks for uploading your videos bro :) awesome :)
This is like an Oasis in the desert!
I learn tons of new stuffs about geonode in your video,thanks a lot,by the way,I'm a big fan of you from China
Thank you so much!
a really concise roundup here thanks... i think it mostly just clicked for me now prob the last tutorial i need (he says)
the docs on these are so bad (literally almost 0 examples, just a small description, if you're lucky a "hint"), so this is great
i was looking for tutorials on this and Boom! this was posted minutes before i typed in my search A Big thank you!!
Nice! The secret art
Super good, must watch video!
Thank you, enjoy
Thank you, thank you, thank you! I am leaning Geo Nodes and up until 40th min I could understand and replicate almost everything from memory, but after that it become much much harder for my level - anyway will go systematically with you other tutorials and resources and try again in few weeks.
This is great, I love the breakdown of how/why things are working the way they do.
Thank you, glad you like it!
Thank you so much for the expand selection tip !
I hope it helps! There are more ways to do it now but this is still the easiest logic
Gonna send people this way for geometry node tips this is super useful reference material thank you :)
Thank you for this incredibly informative video! NOW I feel like I’m starting to get it. I can’t wait to check out your courses
Thanks! Enjoy!
Hey Erindale! Great tutorial and I learned a lot. Thank you very much!
I have a question regarding selecting the UV Seam. I'm trying to select the UV seam to use it to split the edges in GN. My setup is basically getting the UVmap attribute from the group input and then run it through an evaluate on domain node with data type as vector and domain as points and then send it to a compare node and compare the UVmap original vector with the new evaluated one with a compare node with the Element-wise mode and Not Equal operation and capture the result from the compare node with a capture attribute node set to Boolean Data Type and Face Corner as Domain and use it as the selection for the Split Edges node. So far it seems to work in selecting the seam if the seam is going through a full loop cut but if it’s a partial loop cut it seems like it doesn’t select the final edge of the seam and it stays welded. I tried many different ways but I couldn’t get to select that last edge. Any idea how to get around this issue? Thanks in advance.
This is kind of a hack and it won’t be as performant as purely doing it via data, however, if you capture the original positions, split all the edges, set the positions to the UV map locations, merge by distance, and then set the position back to that original position, you’ll have the split edges where the seams have split the UV islands
@@Erindale This will work for now. Thank you so much.
This is wonderful! Thank you very much for sharing your knowledge while explaining the thinking behind the choices. I've learnt a lot from you!
Thanks so much Erindale, always wondered about selection in geo nodes. Very useful!
My pleasure!
Oh wow @somartist you also do blender besides painting?
yes, I always been a secret 3d artist too, and it comes in handy for various projects I have :D@@edwinluthfisaputra107
Absolute gold video
Thanks for the video!
Ive been trying to work out if you can take a selection and transform it, ie move it, scale it and deform it. I'm aware all a selection is is a a 'True' or '1' against a vertex (or face etc) . So moving a selection means moving the value to the next vertex in a given direction.
I know that if you want to move a selection, you're best to do it when your setting up the selection (i.e. if you're creating a selection with the raycast node).
But it would be very useful to be able to take a defined selection and transform it. The only example of this type of transform I can see is the expand/contract operation covered in the video (others like higgsas have also implemented)
It's hurting my brain trying to work out if its possible to do this, as your moving values across a mesh rather than moving the mesh itself! 🤯🤯
With mesh topology nodes you should be able to check if the neighbour is selected or not and change the current selection state based on that. The issue is that you’re going to need to do a bunch of selection-specific weights to make sure you’re checking against the correct neighbours for that specific selection on that specific topology… good luck 🥹
@Erindale that sounds horrific. haha! I had a vision of creating selections, using Boolean operators to 'shape build' the selections, then move / deform the built selections as a final step (tweak). Looks like this final step is going to be limited to expand/contract (I'm not mentally capable of implementing your suggestion). Appreciate the response! 🤝👌
It's hard going but I think I'm starting to get the hang of the concepts. I like the way it teaches the fundamentals, not just press this, press that but explains the thinking behind it. But I'm a long way from being able to do it on my own, maybe one day!
It’s all just practice and repetition. The foundations will all start clicking together ✌️
Every other geometry node youtuber is playing checkers and you’re playing chess holy cow
friend you really explain very, very well thank you very much for sharing your knowledge God take care of you
Thank you!
Hi, I've done loads of geo nodes tutorials and I've found this to be by far the most useful (and as you said foundational), thank you.
On completion of the final Flatten Region Exercise, I'd like to have a selection of just the flattened regions (on the final mesh) so I can instance on just these regions (trees, buildings, that sort of thing).
I've had a go and failed, tried Sample Nearest, this selected the entire mesh. I know I would succeed using Raycast (by using 'Is Hit' with rays from the final mesh to the mesh islands (the flattened regions) displaced along the Z). Id like to avoid this way in order to keep the method general as I don't want it to break if I change the mesh size, orientation etc.
Was wondering if there was a simpler/more elegant solution that sprung to mind? thanks.
Thanks so much!
What I would do is capture the selection attribute before flattening the regions. That way you have it essentially fixed in a point in time. You can use this captured attribute after they’re flattened
@25:36 - How do you make each island have a different color? Mine are all grayscale...
Make sure that you are connecting your viewer automatically with the hotkey so that it makes the right kind of socket. You see when I first drop on the white noise node that it shows black because it had been previewing an integer before. Then I recreate the connections on the float (grey socket) and then click again to get to the color (yellow socket)
@@Erindale It worked - thank you very much.
that crossair is on point ;)
This is going to be super useful thank you!
Thank you!
Hey, great topic and deep dive. I noticed the pile of books behind you and since im a huge fan of 7 habits of highly effective people, i wondered what the rest of the books are.
In this stack I have Building a Second Brain by Tiago Forte which I definitely recommend. Also Deep Work and So Good They Can't Ignore You (by Cal Newport), The Freelance Manifesto (Joey Korenman), Eat That Frog (Brian Tracy), and Getting Things Done (David Allen)
I've not read them all but they're my motivators when I fall off the horse
I love you man, I love you...
Great lesson -- thanks for sharing.
Thank you sooo much this is exactly what I was looking for. No really
You're an absolute legend
Thanks Erindale! Legend.
I have a question... how would you grow a selection on a curve/edge? The technique you showed only seems to work on faces.
Use a blur attribute node and ceiling the output. Each blur step will walk one more element
Great tutorial, this is not a very intuitive way to work but with practice, I can see myself using this. I really hope that GN developers make things easier in the future !
Is there a way to use multiple vertex groups so that I can cycle through defined sets of geometry? (I’m trying to adapt a setup that just breaks a mesh up based on each face to use larger pieces that are more representative of how the object might come apart) - I’ve knife projected the pattern I want onto it so creating the groups might be a bit laborious, but at least I’ll get the result I intend 😅
I would name your vertex groups with integers like 0, 1, 2, 3 etc. Something very simple like that. Then have a node group that has an integer on the front. Inside, plug that integer into a value to string node, then the string into a named attribute node. That'll let you cycle through the groups. If you want a more complex name then you could use an index switch node and plug multiple different strings into it and cycle through that way
@@Erindale ahh yes, so simple, this is why I’ll always struggle with programming 😅😂
Nice one, that’ll get me on the road 🙌🤘🙏
Insane tutorial.
Another superb tutorial, thank you. Using the Normal method, with either a Direction or Dot Product comparison, I can select lines (/faces) of latitude on a sphere or torus - but I can't figure out how to adapt that to select lines of longitude. Any ideas?
Take the normal, multiply by (1,1,0) to negate the difference in vertical direction and then normalize so each band has the same vector on it. The you can compare against a horizontal vector to make the selection
@@Erindale Thanks - bit strange!?! , but that works well enough!!
10/10 thank you so much for this!
Great explanation.
Wait this video for a long time! Really thanks
This is fantastic. Is there any changes to these methods in 4.2?
The vast majority are the same, and all should still work. There may be some optimisations you can do with new nodes though. A lot of curve topology nodes and little hacks with the accumulate field node for example
Hey Erindale! Great tutorial and a lot of info. Thank you very much!
I'm currently trying to make nodes for converting text objects to Neon Geometry. And stuck on the Neon ends. Which have to be bent backward from the letter plane.
Main issue after i;ve deleted segment by using Endpoint Segment node for defining that segment. I have to move the ends backward. That is not a problem too with Set Position + Endpoint Segment nodes. But I also need to move that ends straight under the next points at the curve to make a straight angle between ends and letter plane. And I can't catch that, how do I get the location of the next points and use it for the positions of the ends.
I'm a beginner here and might I've chosen the wrong way?
One potentially easy option would be to convert to mesh without a profile so you have an edge, use the extrude mesh node to extrude back as far as needed and then convert to curve to continue. You could even use the filet curve node to round that corner to the extrusion
Thank you Erindale!
Many ways, and some of them are not so oblivious at my level. Looks like I have to learn the basics better. Then I will see.@@Erindale
Vid is great 👍 but what about any inner parts like a bottle?
You could use raycast to see if you will shoot out into empty space or hit the other inside face
very useful~ good. thank you
Thank you!
first time seeing ur tutorial on my laptop (instead of my phone)... Holy fuck thats a huge cursor...
Go back to your phone 😭
@@Erindale dude my phone was dead i couldn't wait to watch ur video so i just used my laptop instead ahahaha
excellent as always - but what is the difference between a 'float to integer' node and math node set to floor? don't they both just truncate the thing (by which I think I mean chop off the bits after the decimal point)?
The difference is how the data is literally stored in memory. Floats have floating point precision error so it just depends on your requirements. Functionally they’re so similar that if often doesn’t matter. Storing as integers will be more optimised
@@Erindale thanks Erin - six minutes to reply to a question on a four month old video is very impressive :)
Thank you! I think that GN is a amazing tool, but people at Blender foundation should start thinking about a more intuitive way of working with data. In my opinion lists should be the way to go. For example, Grasshopper for Rhino is just way easier to manipulate your data.
It’s a different methodology and both Houdini and grasshopper (which is essentially a pythonic data flow) were considered. Once you’re fluent with GN you’ll find that a lot of things work a lot better and more intuitively because you’re specifically not needing to work with the data yourself. It’s handled inherently in the workflow
Hey, @@Erindale. Thanks for your feedback! Yeah, I think I'm trying to figure out GN logics with a pythonic dataflow in my mind, as you said. I think it make things a little harder, but I'll figure it out with time. By the way, your tutorials are helping a lot! Thanks!
Suzanne from procedural nodegroup... how come?? You saved somehow the original vertex positions to values? or or or what? :)
Yeah no clever shortcuts, I just copied all the vertex positions into a node group 😂 still no idea why she wasn't included in the mesh primitives
Thank you so much! This tutorial was extremely helpful. 😺
Hozier of the Blender world. I will not elaborate
I think this might be the one video that will make everything click! 100x (Y)
I hope so!
Thank you... So much ❤❤❤❤
Great tutorial as always, thank you for that.
I have a question - why does the float to integer node even exist when the exact same operations can be done with the regular math node? Is it more lightweight, or is it something else?
Integers are not susceptible to float rounding errors. It's easy to think of numbers as numbers like how we see them but computers have to do some trickery to actually store them. That's why on the compare node when it's set to float, equals, there's an epsilon value. Asking a float when it equals exactly itself will often fail due to some small decimal part being different. Integers also take less memory to store so it can be an efficiency gain, especially on very dense geometry
@@Erindale Thanks a lot, that cleared it up for me.
非常有意义的示教,GN第一事,选择要操作的内容。太赞了👍👍👍👍👍
Thanks so much!
你会说中文,你是如何理解教程的?
@@danialsoozani 我是中国人😁即便只是看视频,也毫无问题,演示的图形本身就是非常明确的语言!
How would you store a selection made with an empty cumulatively as the empty is moved around?
Using simulation nodes and adding the selection to the current named attribute and storing it with the same name
Thank you! @@Erindale
I can't seem to get around comprehending the accumulate field node.. What's the idea behind it? 🤔
It's a sum loop. It will look at the attribute on each mesh element and add it up in order. Johnny Matthews' has a good video on it (he made it)
this is great, thank you!
my viewer node turns off whenever I select the empty.
how can I keep viewing it?
Make sure you pin the node tree as the viewer is disabled when the node tree is not in focus
@@Erindale thank you!
excellent
Thank you!
You are amazing! Are you a mathematician?
Nah I learnt everything from Blender!
Why isn't the Edge Angle node called Face Angle?
OK, I've just realised the answer to my question. It's the angle at an edge (at the junction of two faces)...
Bloody good, by the way.
So many hotkeys were used, yet I can't see key press :'(
Yeah this was while Screencast Keys addon was not working with the new Blender version