To put it simply, everything starts from zero to accommodate offsets and multiplications as step-wise increments. For example, you have an instance array. The location of the array is that of index zero. To increase the spacing you can multiply the step by two. If you had one as the start, index, then increasing the spacing would also shift the entire array, which is something you normally wouldn’t want. Zero is also important to indicate an "off" state (as opposed to one to indicate an "on" state) and is one of the two states of binary, which is the basis of digital technology.
Thanks so much for this info! Also side note: counting from 0 is a combination of programming practice and historical programming tradition. Most computers have 0s and 1s and although that may not be needed as much anymore, it’s just tradition. But thanks so much! I was struggling with these selections and knowing how I feel like you can REALLY get control over the creations with this!
Your insights and explanations are spot-on since you are, as you say, just learning geometry nodes. Perfect for us noobs. Thanks a million! FWIW: Indices start at zero most likely because if you are coding this and have an array of "things" that are each "so big (in, say, bytes)", and you have this array at some location in memory, you will need to find each "thing" by multiplying the "index" of that "thing" by how "big" each thing is and adding that number of bytes or whatever to the base location of the array. Therefore, the 1st thing in the array is located at the base location of the array - an offset of zero (zero times the size of each thing). The 3rd thing (index 2) is located at the base location plus 2 times the size of each thing. Numbering things in a array from zero then suddenly makes sense. Took me a while to realize this 60 years ago.
@@ArtisansofVaul Exactly. Hence the (forgive me William Safire) ordinal neologism "zeroth" instance or array element. You're a natural teacher; keep up the good work!
@@ArtisansofVaul Hapless newbie, here. *I think* you could also introduce the imaginary line as a new object in Viewport, feed that object's Object info node into a Capture Attribute node with a Position field node as value input (on the left) and out comes the position of the new object. I think. With GN's I will never be sure.
@peteroostra9858 I think you're right but I think I read somewhere that the capture attribute node is changing some point soon so I didn't want to explore that too much for the video to then become useless 😅
This is probably a feature on a newer version of Blender, but I don't think you need to do anything special with the Object Info node (other than keeping the default "original" button activated and selecting the object that you want to use) to get its global position/rotation/scale info.
Excellent tutorial, you nailed it - we need more tutorials where simple subjects are covered, simple subjects like this that are UNIVERSAL for almost all projects. All programming is zero based, that means start from 0, not 1 - that's the answer
Thanks for all these helpful tips and explanations 😊 I don't know how to use the global axis instead of the object's origin, but it'd be really interesting and handy to learn it ! A little bonus tip : It's possible to display vertices/faces/edges indexes in the viewport, without using the spreadsheet panel. "Edit", "Preferences", "Interface", under "Display" : check "Developer Extras". From now on, in Edit mode, you'll be able to find an "Indices" checkbox in the "Viewport Overlays" menu (top right of the viewport). When checked, selecting a vertex, an edge or a face will display its index 😊 Thanks again 🙏
@@ArtisansofVaul My pleasure ! Glad to see this will be helpful 😊 I saw this in a tutorial some months ago (but I can't remember which one), so, all the credits and thanks should go to the guy who made it :) If we ever find him 😅
13:45 Compare it to the "Object Info" Location. If you have more than one clone, use "Self Object" as an input. For anyone still looking for an answer (Blender Version 3.5.0) 👍
Thanks. To be honest that's what I'm doing half the time to get what I want and then note it down. But I think that trial and error is one of the best ways go learn.
02:46 - I'm sure that this is due to the fact that the Selection attribute takes a boolean value (which can only be in two versions - true or false), and at this moment an integer (index) is passed to it. Blender tries its best to convert one to the other. I'm currently studying the Python programming language, and there, in such situations, zero is converted to false. The remaining values that are non-zero are converted to true. Blender seems to do the same. The same thing happens with the Modulo node (08:03) - where the remainder is zero, the Selection node gets false, in all other cases - true
**WARNING** Using Index may make your model incompatible with future versions of Blender. Whenever they make changes to nodes code, it may end up with completely different indexing that previous version. For example the "Split edges" node used to keep all the edge indices the same and simply add one for each new edge created, which makes sense. But, for whatever reason, they decided to re-write Split Edges node so that it completely reindexes every last edge to something new, and when I asked the Lead Geo Nodes Dev, Hans, not to do this, he basically said don't use the Index node and expect it to work the same from version to version. I have an 18,000 node procedural humanoid that relies entirely on indices for selection... Oh, and when selecting verts, edges, faces, you have a new option Normal. (Normal doesn't make sense for verts with no edges/faces, nor edges with no faces) Normal of edges and verts is the average of the faces attached. This is quite helpful when you want to do something to "all edges where at least one face is pointed 'down' direction".
👍🏻 Though be careful be cause sometimes that isn't true for example if you're using an object info node that object will retain the scale it has as its brought into the node group/used.
the reason why the index only selects the first point (index 0) then put into the selected is because of the boolean conversion, which converts 0 (or lower) to false and anything 1+ to true.
I think zero indexing comes from memory layout in old programming languages, and it just never went away; an array of integers in memory is stored by remembering the memory address of the first element. This first element is the zeroth element because you can find its value by looking at the integer at + . The second element of the array is found by looking at + (this is assuming the memory-width of each integer is 1 byte). It is ubiquitous in most modern programming languages although I have a suspicion we will see one indexing become more popular in future, particularly in high level languages since it matches more intuitively with hand written math notation which you might find in academic papers etc.
btw Thanks for the awesome video :) Also, Instead of using the `math node` in compare mode, you can use the `compare node` in integer mode which constrains your input to integers automatically. No idea why there are two methods of doing the same task hidden in different nodes.
@EngineeringNick Definitely agree, also because the socket on the selection is a boolean input. That is also the reason why in the beginning of the video, just index was plugged in, zero was selected since there was no boolean expression to evaluate.
Thanks. When you say a different direction you'd base the direction on the x,y and z used in combination. So move 1 in x and 2 in y for example. Or did you mean something different...?
The reason they start at zero is that's how computers work. All data storage/usage starts at 0. Arrays (which instance on points is) always start with index 0, up to (Number of elements) - 1. And the reason 0 is "off" is that's how booleans work. 0 = false, everything else is true.
@@ArtisansofVaul It gets even funnier when using "Signed' (positive and negative numbers) integers. The number *after* the highest possible number a signed integer can represent: -0 Yep, there's a negative zero. 😅
Thank u so much for the excellent tutorial. In the case of using "modulo", how can I offset the selection? For example, using a modulo value of 3, how to select the numbers 1, 4, 7 and so on? Can I cycle and animate this selection?
So you can just use an addition maths node after the modulo part (for example +1) to do that. And this can be animated by using things like the frame as a value.
I have a question how i can select a range exemple between 5 - 50 and select 3 random for exemple only in this range.... ? or another exemple in range 1 -10 and in this range select 9 randomly ?
Hmm.... Thats a good challenge. You can definitely select a random number using the Random Value node and set it to Integer, then you have a min and max to allow you to set it to the relevant value. If you wanted to do the same thing to several nodes selected that way then in Blender 4 there is going to be a "repeat" node I believe, so you could do that 3 times for example. The issue is that this could select the same point twice by virtue of it being random.... Hmmm....
Presumably translating the grid within the geometry node would change the y pos of the points - therefore, making them move once they pass the threshold?
Geometry > Bounding Box is one way to find location. Max - Min sockets gives center points to use a greater / less than on. Attribute > Attribute statistic >> change float to vector will also give location as a tuple (x,y,z). Be careful about saying compare values when talking about the Math node. The Compare node can do Greater / Less / Equal & Not Equal. And in vector mode can do angles, dot product and length. Compare node outputs a Result, not a Value like the Math node. Try doing distance (Vector / Length / Less Than) from bounding box center with a grid.... Selection based on Geometry Proximity from a Curve Primitive Arc... So you can select 1/2 or 1/4 of a face.
@@ArtisansofVaul Study Lance Phans shading tutorials. A lot of the 'masking' of shading is also applicable to GN selections. Once you see that almost everything can be a mask / GN node selection socket input it all becomes amazing.... Happy blending.....
Sounds trivial but mentioning 3.3 GNs is more relevant than you may think... in the future. I saw that only because I looked for it in the lower right corner... many ppl won't, but I have 2 weeks wasted learning deprecated 2.93 nodes that no longer exist 🤕 I didn't know the math node had this function, so that's cool and tyvm. Indicies starting at zero is from programming lore, where instead of starting at 1 like the rest of the world (counting on knuckles (base 12 and hence where a dozen, months, and hours comes from...), then fingers (base 10, totally unnatural) they always start a list with 0. I think this is what you mean about selecting based on a "line" but with a plane: th-cam.com/video/NopMAW8ni6k/w-d-xo.html like you want to use a line @13:27, kinda like an effector for MoGraph stuff in C4D. Try to pick a row like this th-cam.com/users/shorts23cP9lGToJs?feature=share or this th-cam.com/video/vFZHFJkFdDc/w-d-xo.html without using Erindale's solution when I asked him using ceiling or floor Idr. In Houdini, you just pick the faces (primitives) you want and done. In Blender you have to do gymnastics. Then again, I'll try your method, but move my sphere around and see if it fubars the selection set (I now use vertex paint filled in faces to make the selection and then that for the selection set, cause Blender GN vertex groups do NOT behave the same as they do with vertex paint). I'm suspicious that the selection set done your way will "swim" thru the scene like using "generated" instead of "object" sockets in the Texture Coordinate node in the shader tab... idk have to test that too (!) Thanks for the food for thought. I'm Black Cat Blending (but I use ytube the "right" way, only as offsite video storage) and Logically Fallacious on the Blender servers, though I'm logically fallacious all the time.
Thanks a lot for the info and the video to watch. I'll be sure to check that out later. Yeah GNs are changing very fast but I think its good that they are responding to the community so rapidly to get something that's going to work really well.
@@ArtisansofVaul As long as they don't change the _way_ they work, like from 2.93 to 3.0, I have no issues... but given there are gonna be animation/rigging nodes I'm kinda concerned. The more I think about what Ton is doing, the more I conclude what he does focus on ways to extend the time beginners take to give up, given, I didn't realize the majority of ppl just give up on Blender... (or anything, given most ppl never learn anything worth doing takes time and effort) that's why most tuts are beginner oriented, then with intermediate there is so much less, and adv tuts are so rare... all based on audience size (!) imo. Stay safe, and keep up the good work!
@@jeffreyspinner5437 It is definetly something people give up on. I know a few. And some people don't "give up" but just stay at a level because they don't challenge themselves to do more. And if thats all they need thats fine. Like I am pretty good at Excel but I wouldnt say Im an expert as I just dont use/need some of the functions. I agree with hoping the nodes dont change too much. But I do hope they put in a "repete last" node and an amount of times. That could be really handy.
@@ArtisansofVaul It's weird that For loops have to be a hack... I'll ask Erindale about why the heck are some programming functions not implemented in GNs... he would know better than I, given he's a wizard, and I'm 2 months in Blender GNs and 2 years ago 8 months in to Houdini before they kept changing their system that the tuts I could access were deprecated... so I put Houdini aside. It may have matured enough to go back and do both concurrently... I will see... Houdini gave me procedural modeling/etc., PTSD, that Blender's GNs have lessened... so there's that upside... Both Blender and Houdini almost all the time are extremely opaque, or "hide" really cool things in places if you're not shown will never find, and the defaults on both seem to be designed to give the worst possible outcomes out of the box... I'm trying to get to a place like I was with ZBrush: having the software be transparent, so I could just focus on the Art. Same with my classical guitar playing. The second the mechanics of the guitar became transparent to the music, I realized no matter the instrument, music is just a way for other ppl to vicariously enjoy the _emotion_ being expressed by the musician. I mean I got FDNY EMS workers to come back to the station to eat and relax to baroque music. Classical music in a blue collar setting... I was very surprised at that. I was playing for my own satisfaction, but others wanted to come along with me. Dare I dream to get Blender to become no longer about the mechanics, but about the Art? I'm betting on it... Don't let me down Blender Foundation...
Am strangling getting the same selections mirrored in the grid. Changing the values to match both sides has some problems The moment i scale or shrink it x y of the grid only the negative said scales with the grid the positive side misses its place. Even do the both use the same copy node thst i just change the location with a indix. This is all to complicated to explend. Can you just tell me pls the best way to get all the corner only fill even if a scale it any size the grid.
So you'd probably have to do the maths using input values. If you input the number of points on on X and Y, then it should be something like point 0. Then the Y-1, then (X x Y)-1 and then (X x Y) - Y. I think that should work.
@@user-pz9ju6ss7r Ah. I see what you mean. But then (unless I am mistaken) you cant access it through the modifier menu for use without going into the geometry nodes?
@@ArtisansofVaul yes, you are right, you can change the value in this node only through the geo node editor. (apart from drivers and animations... By the way, drivers could help solve the problem of tracking global coordinates, but this is too hackish. The Object Info node will do the job much better)
ive got a question. im trying to modulo select every 2nd index plus 1 (1,3,5,7........and so on) but I want to leave the very last index un-altered. is there a way to do this? ive tried using a lesser or greater than but I ends up breaking the system/output i am trying to achieve.
Hmm.... That should work so aim not sure why it isn't. Depending on what you're trying to do if you convert something like a line with points on it to a curve there is a select first and/or last function. You can see me doing something similar on this video: th-cam.com/video/Gbj9AXFUU9U/w-d-xo.html
@ArtisansofVaul Awesome man, thank you! I managed to get it working after some time. I am still very new to the blender scene, but I am completely in love with it and your videos have helped me immensely. Thanks again.
Im trying to use this to create interesting geo and so far have seen only explanations that go nowhere , all tutorials are like that and i believe that the creative mind has been swallowed up by technology and all tutorials are a direct proof of that , so thanks but its not really helping at all
I try to make tutorials that focus on specific elements so that they are easy to find to help solve individual issues, that way they will help when someone has an issue. What you want to do/make with the tutorials is then down to the individual user to exercise their own "creative mind" for themselves. I do have some working through making specific objects but they always have less views than those focusing on specific solutions so it seems that's what people are looking for.
This is one of the most helpful Blender tutorials I've ever seen. Thank you.
😁 Thanks so much man, lovely thing to read.
@@ArtisansofVaul Agreed
To put it simply, everything starts from zero to accommodate offsets and multiplications as step-wise increments. For example, you have an instance array. The location of the array is that of index zero. To increase the spacing you can multiply the step by two. If you had one as the start, index, then increasing the spacing would also shift the entire array, which is something you normally wouldn’t want. Zero is also important to indicate an "off" state (as opposed to one to indicate an "on" state) and is one of the two states of binary, which is the basis of digital technology.
Thanks so much. Makes a lot of sense and very clearly explained 👌
Using geometry nodes for a project for my internship. Exactly what I needed. Thank you so much!
Happy to help 😁
Thanks so much for this info!
Also side note: counting from 0 is a combination of programming practice and historical programming tradition. Most computers have 0s and 1s and although that may not be needed as much anymore, it’s just tradition.
But thanks so much! I was struggling with these selections and knowing how I feel like you can REALLY get control over the creations with this!
😁👌🏼 Awesome.
Your insights and explanations are spot-on since you are, as you say, just learning geometry nodes. Perfect for us noobs. Thanks a million!
FWIW: Indices start at zero most likely because if you are coding this and have an array of "things" that are each "so big (in, say, bytes)", and you have this array at some location in memory, you will need to find each "thing" by multiplying the "index" of that "thing" by how "big" each thing is and adding that number of bytes or whatever to the base location of the array. Therefore, the 1st thing in the array is located at the base location of the array - an offset of zero (zero times the size of each thing). The 3rd thing (index 2) is located at the base location plus 2 times the size of each thing. Numbering things in a array from zero then suddenly makes sense. Took me a while to realize this 60 years ago.
That's a good explanation. Like that the beginning if a ruler is 0 the beginning isn't 1.
@@ArtisansofVaul Exactly. Hence the (forgive me William Safire) ordinal neologism "zeroth" instance or array element.
You're a natural teacher; keep up the good work!
I think you could use the Object info node and subtract its Location from the position to get a value that reacts to the world space position
Oh thats really clever. I need to see how that combined with a node to get that information from the object info. Nice!
@@ArtisansofVaul Hapless newbie, here. *I think* you could also introduce the imaginary line as a new object in Viewport, feed that object's Object info node into a Capture Attribute node with a Position field node as value input (on the left) and out comes the position of the new object. I think. With GN's I will never be sure.
@peteroostra9858 I think you're right but I think I read somewhere that the capture attribute node is changing some point soon so I didn't want to explore that too much for the video to then become useless 😅
@@ArtisansofVaul Understandable 😏
This is probably a feature on a newer version of Blender, but I don't think you need to do anything special with the Object Info node (other than keeping the default "original" button activated and selecting the object that you want to use) to get its global position/rotation/scale info.
Excellent tutorial, you nailed it - we need more tutorials where simple subjects are covered, simple subjects like this that are UNIVERSAL for almost all projects.
All programming is zero based, that means start from 0, not 1 - that's the answer
Thanks man 😁👍🏻
Thanks for all these helpful tips and explanations 😊
I don't know how to use the global axis instead of the object's origin, but it'd be really interesting and handy to learn it !
A little bonus tip :
It's possible to display vertices/faces/edges indexes in the viewport, without using the spreadsheet panel.
"Edit", "Preferences", "Interface", under "Display" : check "Developer Extras".
From now on, in Edit mode, you'll be able to find an "Indices" checkbox in the "Viewport Overlays" menu (top right of the viewport). When checked, selecting a vertex, an edge or a face will display its index 😊
Thanks again 🙏
Wow! That's bloody brilliant! Thanks so much for that. What a time saver!
@@ArtisansofVaul My pleasure ! Glad to see this will be helpful 😊
I saw this in a tutorial some months ago (but I can't remember which one), so, all the credits and thanks should go to the guy who made it :) If we ever find him 😅
You can also add an integer node and plug it into the math node so you can go up or down by whole numbers
Oh that's really handy 👌🏼👍🏻
Thanks man - I like the in-depth overview, explainer style... Very clear.
Thanks man 👍🏻
This has been so very helpful. thank you
My pleasure man 😁👍🏻
Thanks for explaining this without all the fluff
No problem. Great to hear the video was the right balance 👍🏻
13:45 Compare it to the "Object Info" Location.
If you have more than one clone, use "Self Object" as an input.
For anyone still looking for an answer (Blender Version 3.5.0) 👍
Thanks so much!
@@ArtisansofVaul I discovered it after practicing your tutorial. 👍
ooh, this modulo's gonna save me so much time
Yeah it's a great node to use.
2:50 - The reason that 0 is "off" is because you are converting the Index to a Boolean.
0 -> False
1 -> True
2 -> True
3 -> True
etc.
👌🏼 Nice explanation. I should have thought about that.
Interesting stuff. Look forward to seeing its use as right now the application is beyond my brain space!😂
The ZERO is the point. Its the only object that represents the instantiation into the scene. Its the only point that cannot be deleted
👍🏻
This is great, I literal never know how any of these nodes work I just plug things in until I get what I want 😅
Thanks. To be honest that's what I'm doing half the time to get what I want and then note it down. But I think that trial and error is one of the best ways go learn.
Much needed tutorial! Thanks
😁 Cheers man
02:46 - I'm sure that this is due to the fact that the Selection attribute takes a boolean value (which can only be in two versions - true or false), and at this moment an integer (index) is passed to it. Blender tries its best to convert one to the other. I'm currently studying the Python programming language, and there, in such situations, zero is converted to false. The remaining values that are non-zero are converted to true. Blender seems to do the same. The same thing happens with the Modulo node (08:03) - where the remainder is zero, the Selection node gets false, in all other cases - true
Thanks man 👍🏻 Good to know. My lack of knowledge anything programing related hindering my understanding there 👍🏻
Brilliant thank you!
My pleasure. Always glad to be able to help.
Excellent
Cheers 😁
**WARNING** Using Index may make your model incompatible with future versions of Blender.
Whenever they make changes to nodes code, it may end up with completely different indexing that previous version. For example the "Split edges" node used to keep all the edge indices the same and simply add one for each new edge created, which makes sense.
But, for whatever reason, they decided to re-write Split Edges node so that it completely reindexes every last edge to something new, and when I asked the Lead Geo Nodes Dev, Hans, not to do this, he basically said don't use the Index node and expect it to work the same from version to version.
I have an 18,000 node procedural humanoid that relies entirely on indices for selection...
Oh, and when selecting verts, edges, faces, you have a new option Normal. (Normal doesn't make sense for verts with no edges/faces, nor edges with no faces) Normal of edges and verts is the average of the faces attached. This is quite helpful when you want to do something to "all edges where at least one face is pointed 'down' direction".
Thanks man 👌🏼 That's REALLY helpful information and I (and I'm sure other people) really appreciate you passing it on. Yours a champion 👍🏻
All you have to is do the transforms in geometry nodes because it's scale is always applied
👍🏻 Though be careful be cause sometimes that isn't true for example if you're using an object info node that object will retain the scale it has as its brought into the node group/used.
super useful tutorial. thanks a bunch
No problem. Glad it's helpful
Great content ! Thank you !
No problem and thanks for taking the time to watch and for the comment 😁👍🏻
Good stuff
Cheers 😁👍🏻
the reason why the index only selects the first point (index 0) then put into the selected is because of the boolean conversion, which converts 0 (or lower) to false and anything 1+ to true.
😁 Nice. Thanks so much for the explanation. 👍🏻 Really appreciate you taking the time as well.
I think zero indexing comes from memory layout in old programming languages, and it just never went away; an array of integers in memory is stored by remembering the memory address of the first element. This first element is the zeroth element because you can find its value by looking at the integer at + . The second element of the array is found by looking at + (this is assuming the memory-width of each integer is 1 byte). It is ubiquitous in most modern programming languages although I have a suspicion we will see one indexing become more popular in future, particularly in high level languages since it matches more intuitively with hand written math notation which you might find in academic papers etc.
btw Thanks for the awesome video :) Also, Instead of using the `math node` in compare mode, you can use the `compare node` in integer mode which constrains your input to integers automatically. No idea why there are two methods of doing the same task hidden in different nodes.
Thanks man, that's really useful to know. Great info and thanks for taking the time to write it 😁👌
@EngineeringNick Definitely agree, also because the socket on the selection is a boolean input. That is also the reason why in the beginning of the video, just index was plugged in, zero was selected since there was no boolean expression to evaluate.
Still helpfull video thanks !
😁 Thanks
This is amazing, very grateful. I have a question, how could I move those selected points in a given direction, different from x,y,z? Greetings
Thanks. When you say a different direction you'd base the direction on the x,y and z used in combination. So move 1 in x and 2 in y for example. Or did you mean something different...?
Brilliant thanks!
No problem at all 😁
The reason they start at zero is that's how computers work. All data storage/usage starts at 0. Arrays (which instance on points is) always start with index 0, up to (Number of elements) - 1.
And the reason 0 is "off" is that's how booleans work. 0 = false, everything else is true.
ah that makes sense. I always assumed 0 being off would mean nothing, like a null value, not the first.
@@ArtisansofVaul It gets even funnier when using "Signed' (positive and negative numbers) integers.
The number *after* the highest possible number a signed integer can represent: -0
Yep, there's a negative zero. 😅
@@eclecticgamer5144 🤦 My poor brain 🤯
Thank u so much for the excellent tutorial. In the case of using "modulo", how can I offset the selection? For example, using a modulo value of 3, how to select the numbers 1, 4, 7 and so on? Can I cycle and animate this selection?
So you can just use an addition maths node after the modulo part (for example +1) to do that. And this can be animated by using things like the frame as a value.
I have a question how i can select a range exemple between 5 - 50 and select 3 random for exemple only in this range.... ? or another exemple in range 1 -10 and in this range select 9 randomly ?
Hmm.... Thats a good challenge. You can definitely select a random number using the Random Value node and set it to Integer, then you have a min and max to allow you to set it to the relevant value. If you wanted to do the same thing to several nodes selected that way then in Blender 4 there is going to be a "repeat" node I believe, so you could do that 3 times for example. The issue is that this could select the same point twice by virtue of it being random.... Hmmm....
Presumably translating the grid within the geometry node would change the y pos of the points - therefore, making them move once they pass the threshold?
I believe so yes, as it will move them in comparison to the origin (which is the 0,0,0 point) from my understanding
video start at 3:00 guys
😅
In programming arrays an other data structures start at 0
@@johnwicked1132 👍🏻
Oh that why the end point node was laging it need a curve thank you
👍🏻
Geometry > Bounding Box is one way to find location. Max - Min sockets gives center points to use a greater / less than on.
Attribute > Attribute statistic >> change float to vector will also give location as a tuple (x,y,z).
Be careful about saying compare values when talking about the Math node. The Compare node can do Greater / Less / Equal & Not Equal. And in vector mode can do angles, dot product and length. Compare node outputs a Result, not a Value like the Math node.
Try doing distance (Vector / Length / Less Than) from bounding box center with a grid....
Selection based on Geometry Proximity from a Curve Primitive Arc... So you can select 1/2 or 1/4 of a face.
Thanks a lot for the tip! I'd used bounding boxes to work it width but not location so that's interesting. 👍🏻
@@ArtisansofVaul Study Lance Phans shading tutorials. A lot of the 'masking' of shading is also applicable to GN selections.
Once you see that almost everything can be a mask / GN node selection socket input it all becomes amazing....
Happy blending.....
Sounds trivial but mentioning 3.3 GNs is more relevant than you may think... in the future. I saw that only because I looked for it in the lower right corner... many ppl won't, but I have 2 weeks wasted learning deprecated 2.93 nodes that no longer exist 🤕
I didn't know the math node had this function, so that's cool and tyvm.
Indicies starting at zero is from programming lore, where instead of starting at 1 like the rest of the world (counting on knuckles (base 12 and hence where a dozen, months, and hours comes from...), then fingers (base 10, totally unnatural) they always start a list with 0.
I think this is what you mean about selecting based on a "line" but with a plane: th-cam.com/video/NopMAW8ni6k/w-d-xo.html like you want to use a line @13:27, kinda like an effector for MoGraph stuff in C4D.
Try to pick a row like this th-cam.com/users/shorts23cP9lGToJs?feature=share or this th-cam.com/video/vFZHFJkFdDc/w-d-xo.html without using Erindale's solution when I asked him using ceiling or floor Idr. In Houdini, you just pick the faces (primitives) you want and done. In Blender you have to do gymnastics.
Then again, I'll try your method, but move my sphere around and see if it fubars the selection set (I now use vertex paint filled in faces to make the selection and then that for the selection set, cause Blender GN vertex groups do NOT behave the same as they do with vertex paint). I'm suspicious that the selection set done your way will "swim" thru the scene like using "generated" instead of "object" sockets in the Texture Coordinate node in the shader tab... idk have to test that too (!)
Thanks for the food for thought. I'm Black Cat Blending (but I use ytube the "right" way, only as offsite video storage) and Logically Fallacious on the Blender servers, though I'm logically fallacious all the time.
Thanks a lot for the info and the video to watch. I'll be sure to check that out later.
Yeah GNs are changing very fast but I think its good that they are responding to the community so rapidly to get something that's going to work really well.
@@ArtisansofVaul As long as they don't change the _way_ they work, like from 2.93 to 3.0, I have no issues... but given there are gonna be animation/rigging nodes I'm kinda concerned. The more I think about what Ton is doing, the more I conclude what he does focus on ways to extend the time beginners take to give up, given, I didn't realize the majority of ppl just give up on Blender... (or anything, given most ppl never learn anything worth doing takes time and effort) that's why most tuts are beginner oriented, then with intermediate there is so much less, and adv tuts are so rare... all based on audience size (!) imo.
Stay safe, and keep up the good work!
@@jeffreyspinner5437 It is definetly something people give up on. I know a few. And some people don't "give up" but just stay at a level because they don't challenge themselves to do more. And if thats all they need thats fine. Like I am pretty good at Excel but I wouldnt say Im an expert as I just dont use/need some of the functions.
I agree with hoping the nodes dont change too much. But I do hope they put in a "repete last" node and an amount of times. That could be really handy.
@@ArtisansofVaul It's weird that For loops have to be a hack... I'll ask Erindale about why the heck are some programming functions not implemented in GNs... he would know better than I, given he's a wizard, and I'm 2 months in Blender GNs and 2 years ago 8 months in to Houdini before they kept changing their system that the tuts I could access were deprecated... so I put Houdini aside. It may have matured enough to go back and do both concurrently... I will see... Houdini gave me procedural modeling/etc., PTSD, that Blender's GNs have lessened... so there's that upside... Both Blender and Houdini almost all the time are extremely opaque, or "hide" really cool things in places if you're not shown will never find, and the defaults on both seem to be designed to give the worst possible outcomes out of the box...
I'm trying to get to a place like I was with ZBrush: having the software be transparent, so I could just focus on the Art. Same with my classical guitar playing. The second the mechanics of the guitar became transparent to the music, I realized no matter the instrument, music is just a way for other ppl to vicariously enjoy the _emotion_ being expressed by the musician. I mean I got FDNY EMS workers to come back to the station to eat and relax to baroque music. Classical music in a blue collar setting... I was very surprised at that. I was playing for my own satisfaction, but others wanted to come along with me.
Dare I dream to get Blender to become no longer about the mechanics, but about the Art? I'm betting on it... Don't let me down Blender Foundation...
Am strangling getting the same selections mirrored in the grid.
Changing the values to match both sides has some problems
The moment i scale or shrink it x y of the grid only the negative said scales with the grid the positive side misses its place.
Even do the both use the same copy node thst i just change the location with a indix.
This is all to complicated to explend.
Can you just tell me pls the best way to get all the corner only fill even if a scale it any size the grid.
So you'd probably have to do the maths using input values. If you input the number of points on on X and Y, then it should be something like point 0. Then the Y-1, then (X x Y)-1 and then
(X x Y) - Y. I think that should work.
03:29 - I think it would be easier to use an Integer node
I'm pretty sure that's what I then set up after. Is there another way to do it in the node?
@@ArtisansofVaul in the video the Group Input node was used. I'm talking about Integer Node, it creates an integer in place
@@user-pz9ju6ss7r Ah. I see what you mean. But then (unless I am mistaken) you cant access it through the modifier menu for use without going into the geometry nodes?
@@ArtisansofVaul yes, you are right, you can change the value in this node only through the geo node editor. (apart from drivers and animations... By the way, drivers could help solve the problem of tracking global coordinates, but this is too hackish. The Object Info node will do the job much better)
ive got a question. im trying to modulo select every 2nd index plus 1 (1,3,5,7........and so on) but I want to leave the very last index un-altered. is there a way to do this? ive tried using a lesser or greater than but I ends up breaking the system/output i am trying to achieve.
Hmm.... That should work so aim not sure why it isn't. Depending on what you're trying to do if you convert something like a line with points on it to a curve there is a select first and/or last function. You can see me doing something similar on this video: th-cam.com/video/Gbj9AXFUU9U/w-d-xo.html
@ArtisansofVaul Awesome man, thank you! I managed to get it working after some time. I am still very new to the blender scene, but I am completely in love with it and your videos have helped me immensely. Thanks again.
Im trying to use this to create interesting geo and so far have seen only explanations that go nowhere , all tutorials are like that and i believe that the creative mind has been swallowed up by technology and all tutorials are a direct proof of that , so thanks but its not really helping at all
I try to make tutorials that focus on specific elements so that they are easy to find to help solve individual issues, that way they will help when someone has an issue. What you want to do/make with the tutorials is then down to the individual user to exercise their own "creative mind" for themselves. I do have some working through making specific objects but they always have less views than those focusing on specific solutions so it seems that's what people are looking for.
This is too complicated.
Its about as simple as its going to get if you want to select certain points Im afraid.