Instances - Geometry Nodes for Beginners

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
this video is sponsored by sketchfab [Music] using instances with geometry nodes is really useful for scattering a bunch of objects around and we have a lot of options to work with when doing this here's a summary of what i'll cover in this video i'll start with talking about what instances are and how we used them before geometry nodes then i'll show you how to instance objects onto the points of a mesh then onto the faces of a mesh i'll show how to scatter collections of objects other ways of distributing points in a more random way and also how to randomize rotation and scale i'll use weight painting to control where things get scattered and then i'll talk about the concept of realizing instances i'll cover how materials work with instances and i'll end with making this cool fractal shape using node groups if you're a complete beginner with geometry nodes you should probably watch this video first also check my patreon for the project files from my videos coupon codes for free products early access videos and stuff i don't share anywhere else i also donate a portion of the profits to environmental causes each month links for everything are in the description all right let's get started so here we are in blender i'm using version 3.1 for this one and i recommend using 3.1 or later if you're using a maybe an early build of 3.1 you might need to update and if you're using something a little older then some of these nodes might not exist or they might have different names so make sure you're staying up to date first let's talk about how to use instances without geometry nodes so i'll just add in an ico sphere with shift a ecosphere and what i want to do is instance a shape onto each point of this icosphere so we need to add in a second shape i'll add in a cone right here i'm just going to drag it to the side and in edit mode i'm just going to move it up by one meter so that the origin is at the bottom like that this will just make it sit a little more nicely on the points now i'll select the ecosphere and if we go over to object properties and scroll down we have this option called instancing right here and if we click on these other buttons nothing is really going to happen because this only works when when there are things parented to the object so we can parent the cone to the echosphere i'll just select the cone and shift select the echo sphere control p and set parent to object like that so now you can see that the cone is on each point it's kind of big so i'll just select the cone and scale that down and when we select the echo sphere you can see we have it set to instance on each vertex and we also have this button aligned to vertex normal like that and this will change the rotation of each instance depending on you know how the object is shaped so in case you didn't get it yet instances are kind of like copies of objects and the reason it makes sense to use instances instead of just duplicating the same object like over and over again is because it's actually a lot faster to use instances compared to the other method it just doesn't have to compute things in the same way because you're using like a bunch of copies also if you're not sure what normals are let's just turn this off for now you can actually visualize the normals by selecting your object going into edit mode and up here under overlays scroll to the very bottom you have normals right here so this first one is vertex normals you can just turn the size up a little you can see that there's a line kind of sticking out from every point and this is the normal direction it's basically going to stick out perpendicular to each vertex and we can also turn on face normals too which is basically the same thing except it's in the middle of each face like that so this is the normal direction and it's important to understand what the normal direction is because you have a lot of options that have to do with utilizing the normal direction so let's turn this off for now and look at this other option faces so this is basically going to do the same thing as vertices except you know it's instancing on the middle of the face instead and this is going to point out in the normal direction by default we also have scale by face size which lets you you know scale things around and this makes a little more sense when you actually go into edit mode and start adjusting the face sizes so if we scale this face down you can see that you know the instance on it will also get smaller like that so this is instancing without geometry nodes and there are some limitations to this like if you wanted to instance a whole bunch of different objects other than just a cone you can't really do that with this method that's something you would have to do with particles maybe so you could go to particles and add a new particle system but there are limitations to this also like it doesn't use nodes so i talked in my last video about the benefit of node-based systems using the particle system is a completely separate uh topic so i'm not going to cover that too much but one thing to know is that uh the particle system right now at the time of recording anyway does have some features that the that geometry node still doesn't have like for instance this emitter if we press play you can see it's emitting a bunch of points like this it's kind of using physics geometry notes can't do that yet but it might be able to do that in the future i believe at some point it will gain all of these features also but with the benefit of it using nodes that's something to keep in mind now let's get rid of that i'm also going to you know make the cone not parented anymore so alt p to clear that and i'll move it to the side i'll hit alt s to reset the scale and i'm going to replace this with a fresh new ico sphere and we'll go into geometry nodes so up here you can go into the geometry nodes workspace and if you don't see that once again go to general and it's under there like that so now that we're in here i'm just going to select that icosphere and click new to add a new geometry nodes tree you can see it added the modifier also and i'm gonna click this so that we can uh have all these snap to the grid so let's talk about instancing onto points uh with geometry nodes so if we hit shift a under instances we have instance on points right here we also have these other options that we'll talk about a little later but we're going to start with instance on points so let's just look at this node we have points in here so these are the points that we want to instance on and then we have instance right here which is you know whatever shape we want so we can drop this in right here and it will connect to the points automatically but we don't have an instance shape yet so we need to bring one in here so you can hit shift a and under input we have object info so you can use this and select whatever object you want in here but there is another way also you can just go up to the outliner and you can click and drag your object and just drag it into here so this is the cone that we were using before we can just we can drag the geometry onto the instance like that and we might want to just scale this down so we have the scale option right here you can select all of them like that and just drag it down i like to hold shift when i'm dragging to make it uh change slower so we have a cone on each point right now but we don't have our original mesh so like i showed in the last video you just need to use a join geometry node so can hit shift a under geometry join geometry and just join it with the original mesh right here if we have the object info set to original it's going to kind of treat this like it's in the center of the world like that if we have it set to relative it will pay attention to like the scale and you know where it is in the world over here like that so i almost always just have it set to original if we want these to stick out in the normal direction we have to change the rotation right here and what we need to plug in here is the normal value so we can hit shift a this is under input normal like that so we can't really plug this in directly or we can but it doesn't give us the the effect that we're looking for we need to use this other node called align euler to vector so shift a and then under utilities align euler to vector right here you just want to plug the normal into the vector and then plug the rotation into the rotation and it might not be obvious but this is actually doing what we want it's just using the wrong axis so if we change this to the z-axis it will point straight out like that like i said in my last video i am using the node wrangler add-on with the node wrangler add-on if you hold shift and right-click and drag you can you can add this reroute node so i'm just going to do that really quick i'm going to add in another node called the subdivision surface node so shift a i'm going to search for subdivision surface right here and i'm just going to drop it in if we scale this down we can see it's adding more more faces like that but as we subdivide and add more points you can see that the size of each instance shape is staying the same it's not really adapting to the face size so one way to change that is by checking the face size so there's a node for that shift a i believe that's under mesh face area right here and we can plug that into the scale right there and this is already kind of doing what we want but as we turn it up you can see that the instances kind of get smaller than we want so we need another node in here so just get a math node and plug it in right here and the one we want to set this to is square root and this will make it uh scale consistently but as you can see this is like pretty big right now so if we wanted to control the size of this usually what i do is just use another math node set to multiply you can put it afterward and you can use this to control the size so now as we add subdivisions you can see that these will kind of scale down accordingly there are a few other ways to scale instances so instead of using a multiply node you could also edit the object directly with like a transform node so you could use a transform node and drop it in right here and affect the scale this way there's also under instances a scale instances node right here so you just want to place this after the instance on points where we have all the instances like this and you can scale that however you want also under there you can see we also have rotate instances and translate instances i'll talk more about rotating a little later but we also have a node called scale elements and this works for you know things that aren't instances also this works a little differently because instead of scaling based on the origin point you know the pivot point right here it will scale from like the center of the mesh so you can see as we scale this down they kind of start floating because the center point is not at the bottom so that's something to keep in mind if you're using the scale elements node which we're not really going to use in this video so next i'll show you how to instance onto faces instead of onto points i'm just going to create a new node tree for that i'll just name this vertices and make a new one right here and call this faces so now i have two different node trees i'm just going to save all of these separately so before i instance these onto the faces i'm just going to remove the rotation and the scale and i'll explain why a little later so to instance onto faces we still want to instance on points but we need to change where the points are so under mesh we have mesh to points right here and you can see by default it takes a mesh and it outputs points right here and it's set to vertices by default so if we plug it in right here we can preview it with alt shift and left click once again i believe this is a node wrangler thing so make sure you have node wrangler installed this is turning each vertex into a point and we have a few options so we could use you know edges or uh faces or corners we're going to use faces so let's look at our original geometry again you can see now all of the instances are in the center of each face now compared to where they were before but now if we plug the rotation in it's not going to work correctly and the face area is also not going to work correctly and the reason for this has to do with how fields work if you want to learn more about fields i put a link to the documentation in the description but basically uh normal and face area are fields and these are going to do different things depending on where you plug them in so face area for example if i plug it into here the face area node is going to pay attention to where you plug it in and try to figure out what geometry is going into this node right here so if we see what geometry is going into here the last node is this mesh to points and if we look at that it has no faces it's just a bunch of points so it has no faces to reference so that's why it's not working same thing with the normal it's also looking at this node right here and it doesn't know how to calculate the normals so what we want to do is find the face area before this node right here which is just our normal mesh right there and to do that we need a node called the capture attribute node so i'll hit shift a at the very top attribute we have capture attribute right here this is how you can get field values from specific points in your tree right here so i'll just drop this in right here and on its own it doesn't do anything it's just kind of grabbing a value i'm going to use this for the normal so i'll bring the normal over and we just need to change this from float to vector so that you know the socket color is the same and then instead of using this normal we can use the attribute right here just plug that in to the vector of this align euler to vector and then plug that into the rotation and now this is working properly because it's checking the normals you know as it looks like this instead of you know at this point right here hopefully that makes sense we can also do the same thing for the face area just grab another capture attribute shift d to duplicate and we'll change this from vector to float that's what we're getting from face area you can plug that in here and do the same thing we'll just drag the attribute down into the square root and plug that into the scale and now we have all of the same options that we had before you know if i add some subdivisions these will scale down accordingly so it can be kind of a hassle to set up the first time but once you understand it it gets pretty easy but being able to use these is actually pretty powerful you can actually do a lot of cool stuff like if you check out some of my other geometry node videos i actually use them a lot let's talk about random transformation now so like scaling and rotating for that i'm going to create a new node tree instead of using the geometry input i'm going to replace that with a grid so shift a add a grid i can plug that in right here and i'll just change this to something a little higher like 20. i also want to replace this cone with a cube so you can either add a cube in here you know shift a and search for a cube but i'm actually going to add a cube in here just like i did with the cone so i'll add a cube and i'll move it up in edit mode once again so that the origin point is at the bottom and we can just turn this to a cube right there so here we have it so if i wanted to i could actually scale each of these instances randomly using this node right here the scale instances basically anytime you have a diamond socket like that uh you can plug in a random value or a texture or something like that oh yeah and another way that you can search for nodes is by just dragging you see this plus right here you just let go and it will come up with like a search menu so i'll just search for random value like that it gives us this random value set to vector so this is going to scale it on differently on each axis if you wanted this to just scale up and down uniformly you could just change this to float and you just need to plug it back in to the scale right here and now it's giving each of these instances a random value between 0 and 1 like that so you can adjust the you know the range if you want if you wanted this to scale only on one axis just like i showed in my last video you can just use a combine xyz like that and all of these disappear because they're set to zero and by default you can see the scale is set to one so just make sure that you're resetting these to one if you want it to look the same i'll just plug the random value into the z socket like that and i'll set the minimum to one and the max to something a little higher so this is how you could randomize the scale on just one axis like this i mean you can see it's a pretty cool effect this almost looks like a city so you could use this to create like a simple city generator something like that let's do the same thing but for rotation so shift a under instances we have rotate instances if you want to move things randomly under instances we have translate instances like that this works the same way that we're using these two nodes right here so i'm not really going to explain this because it should be self-explanatory if you know how to use these two but you can use this to rotate things like that um and also you know if you want this to only use one axis then you can just bring a combined xyz in here the same way i'll just turn all of these to zero and we can use a random value node right here the rotation by default is in degrees right here but as soon as you use a combine x y z it's not using degrees anymore it's a little confusing but instead of using degrees this is using something called radians it's a different way of uh measuring rotation so if you wanted this to rotate a full 360 degrees that would be pi times two you can just type in pi times 2 that's also called tau tau it's the same number and if you don't want to use radians you'd rather use degrees you can just bring in a math node right here and set this to 2 radians if we plug this into here we can put in degrees and it outputs radians so if we want we can rotate all of these 45 degrees just type in 45 and you don't have to think about how to convert it to radians so now let's just plug in this random value node right here to the z if you want you can use the two radians right here plug that into the maximum and so we can make it so each of these has a random rotation between 0 and 360 degrees so these will look quite a bit more random now like that let's also talk about collection instancing because right now we're only using one shape one of the cool things you can do with geometry nodes is instance you know scatter multiple different shapes so instead of using the object info node we could hit shift a under input we have collection info right here so we can use all of the objects from any of these collections let's actually create a new collection so hover over here and hit c that'll create a new collection and i want both of these shapes to be in that collection so you can select them and either drag them in right like that or you can hit m uh in your viewport and that will move it to collection three i'll just name this something like instances and i want some more variety so i'll add another shape in here i'll add an icosphere and i'll move that up one meter in edit mode just like the other ones let's add a fourth one actually we'll add a cylinder so just make sure all of these objects are in this collection right here and we can just hide the collection like that so you can either select that collection in here or just like how we did with the object you can just drag entire collections in like that okay and we can just plug this in to the instances right here so right now it's taking the entire collection all of these shapes and instancing them onto each vertex so we can select separate children and pick instance and now we're limited to just one shape per point like that and if we hit reset children it'll actually snap to the points like that so what reset children is actually doing is kind of treating each of these shapes as if they're in the center of the world like that instead of off to the side where i have them but if you don't have reset children when you move this around you can see i moved the cone from where it was and it's actually going to be in a different spot over here also so i almost always reset the children so i'm just going to mute these two right here you can just select them and hit m to mute if we look at this from the top this is actually distributed in a very regular way and the way this is organized is kind of looking at the the index value of each vertex and it's also paying attention to like the order they appear over here in the outliner we can actually test this out if we use this instance index option right here we can just use an integer and i know it's an integer because uh it's the same color right here that green color so this is how we can select a specific object from a collection when you're using index values the first value is always zero instead of one so they're going to be offset a little but the first value or zero is going to be a cone and i know that because it's the first over here in the outliner second should be cube and then cylinder and then icosphere so we have cube just like over here cylinder and then icosphere like that and if you go higher it'll actually just keep going in the same order but just like starting from the beginning it just loops back to the beginning this also works for negative numbers too and this is actually nice because if you're trying to randomize it which we can also do so i'll just separate this and grab a random value right here by default if you're using uh this set to an integer the maximum value is a hundred so we don't actually have to know how many objects are in here for this to work properly we don't have to set this to like three or whatever we have something that looks quite a bit more random and if you don't like the the order that they're put down you can just change the seed right here and it will just kind of uh it'll just randomize them again let's take a break to talk about the sponsor sketchfab sketchfab is an online marketplace where you can buy and sell 3d models they have more than 3 million miles to choose from and deciding which models you want to download is actually pretty fun because you can inspect them in the browser to see them from any angle and check out the materials in geometry sketchfab also has importer add-ons that make it really easy to get models into your projects so if you're looking for assets to fill your scenes check out sketchfab it really is a great resource all right let's talk about another way to distribute points so even though there's like a random object on each point it's still on each point so these are like in a grid if you wanted points scattered more randomly you can use a distribute points on faces which is under point distribute points on faces right here so i'll keep using the grid and i'm just going to place this node right here right before the instance on points so if we take a look at this with alt shift and left click this is uh what it's doing it's kind of replacing the mesh with a bunch of points um and when you turn the density up it's just going to you know add more points like that and you can change the seed to place them in a different like random location like that we also have this other option called poisson disk and if we select that it's initially going to seem kind of the same except you also have this distance minimum option right here and what this does let's look from the top what this does is it will keep the points a certain distance apart from each other so we could turn this up a little higher to like point one so now all of these points will always be 0.1 meters from each other or more and this is a this is a diameter so it's kind of like drawing a circle around it and the width of the circle is 0.1 meters even if we turn the density up super high you can see none of these will be touching each other which is pretty nice for if you're scattering objects and you don't want any of them to be intersecting we also have this density factor which just goes from zero to one and you can just you know turn that up and down to kind of like turn uh turn the points on and off like that so we're still using a collection over here i'm just going to plug everything back in and i'm going to remove the the normal and the scale like that because that's a you know we're running into the same issue basically that we had when we were instancing on the faces it's being replaced with points so we don't have faces and it's not tracking the normal in the same way so i'll just get rid of these so to explain this distance minimum a little further i'll just bring in a a cylinder and i'm using a cylinder because this uses a radius and the distance minimum is a diameter so our radius is always going to be you know half the half the length of a diameter so we just need to make sure instead of the radius and the distance minimum being the same we just want to make sure that the radius is half so we can make it .05 like that now we can just replace the uh the collection with this and turn off pick instance make sure that scale is set to one i'm just going to turn this down quite a bit and we can look from the top and none of these should be touching even if we turn the density up really high if you're using a shape like a cube instead you're going to have to measure this a little differently so i'll set this to 0.1 but these will overlap in some spots that's because these values right here are measuring like the width and the length and all that um the diagonal values are actually going to be greater than 0.1 so you would have to turn this up a little for them to not intersect in the same way that's just something to keep in mind so one nice thing about this node is it gives us the normal and the rotation from uh you know the mesh that's being plugged in so if we were using a different shape so i'll bring in like an ico sphere if we're using a different shape like this instead of doing the capture attribute trick like we did before you can just plug the rotation directly into the rotation like that and it will stick out properly you know as if you were doing it the same way which is really convenient now let's talk about how to distribute points but with vertex groups so if you're going to use vertex groups you have to use the input geometry right here otherwise it's not going to work using vertex groups is really nice for say if you have like a a big plane and you want to scatter a bunch of rocks or trees or something but you want them to be in very deliberate spots you can kind of paint it on with weight painting so to get started if we're using a distribute points on faces we could use the density factor right here and you want to make sure that you're using uh something that has a diamond socket so we can grab this empty spot from the group input and just drag that over to density factor now we have that over here on our modifier to control and there is this extra button right here so if we click that it'll let us input all of these different things right here and we want to put in a vertex group but right now we don't have any vertex groups so we need to add one so we can go over here to object data properties where we have vertex groups you can add one and you can name it whatever you want i'll just name it scatter now if we go back to the modifiers and check this out we actually have something called scatter this will be whatever you named it so we can click on that now if we go back over to the vertex groups we can actually uh you know decide where we want to place this so this is going to be based on the geometry so you can tab into edit mode over here and we'll have these other options assign remove and we have this weight right here so we can select some of these points right there and hit assign it's going to assign this weight to all of these points we have selected when we do that you can see now that points are distributed there so let's just hit ctrl z to undo this and i'm going to uh increase the resolution by hitting right click and subdividing a few times right here i'll turn the smoothness up a little so now we have more points to work with and we can get more specific shapes if we want another thing you can do is change the weight so if you want it to be half as dense you can just turn this to something like 0.5 and then select some points and assign and this should be half as dense it's basically like if you set the density factor to 0.5 in that spot so instead of putting it in this way you can also use weight painting so you can go up here over to weight paint and this is going to work the same way you want to make sure that you have the correct vertex group selected and you can just start painting where you want your objects to be and if you want it to be a different way you would just select that up here lighter like that and now you know they're not as close over here so there are a few different ways of doing this all of them require you know using a group input and making sure that you plug it into a diamond right there so let's change this to random right here and you can see if we have fewer options we could plug it into the density which has a diamond right there so let's try that we're limited to this weight right here which only goes up to one and that's the equivalent of having our density set to one right there which is very sparse there aren't any objects so we can change this a few different ways we could add a math node in here and just set that to multiply and just turn this up to however high we want to control like the maximum density like that map range and change the to max this is pretty much the same thing as using a multiply node or you could use something like a mix rgb and plug the density factor into the factor right here and then you can use these two slots as your minimum and maximum values so you can either just type the numbers you want right into the value right here so i'll just type like 100 or you can use value nodes like this and plug these into the color slots and set these to be whatever you want now if we wanted to we could also use vertex groups to control things like the scale of these so let's do that i'll just plug the combine xyz over into the scale right here we're going to have to turn this down quite a bit 0.03 and i'm going to use a multiply add node i'll set the add to .03 and plug this in right here and we can uh we can adjust these values however we see fit but first let's take one of these empty uh slots from the group input and we'll plug it into the value of this node right here and now we have this over here and we can uh set this to have a different vertex group we'll just add a second one and i'll name it scale and we'll click this button and make sure we add scale now just when you're in weight paint you want to make sure that you have the right vertex group selected so right now all the points should be set to zero so let's just like paint some of these in and it's changing the scale we can change the you know the maximum value with this multiplier right here so we can just turn it up like a little bit like that this would be useful for creating like tall patches of grasses or things like that i'm sure you can think of a lot of different ways to to use this so let's talk about realizing instances and when you should do it so if we hit shift a under instances we have this other node realize instances basically what this does is it makes the geometry nodes stop treating instances like they're actually copies and treating them like they're like original objects and this allows you to control like individual points from each of the instances and things like that so to explain this let's use a set position node and this is basically the equivalent of using a displacement modifier right here displace it allows you to move each point and stuff so let's control this with a texture i'll use a noise texture and i'll just set this up pretty quickly with a math node set to multiply to control the strength and i want this to only be going up and down so we also need a combine x y z right here and i'll plug this into the z like that so right now each of these cubes is not realized and when we set the position with this noise texture you can see they're just floating up and down it's kind of treating each cube like it's uh a single point almost and not deforming this as soon as we put the realize instances in here it'll start deforming each individual point like that and you can see all of these are very warped now whereas right here each cube is completely intact like normal another thing that happens when you realize instances is it treats materials a little differently so let's add a material we'll add in a set material node and again i talked about setting materials in the first video so you can just drop that in right here we need to create a material over on the side i'll just name this something like instance and we can use that material right here so let's go over to shading now and i'll set something up quickly i'll just use a voronoi texture right here hit ctrl t to add these two nodes with the node wrangler i'm going to use the object texture coordinates and i'll plug the color in right here right now in our geometry nodes this is not realized and if we turn the scale of this down you can see that each cube actually has the same exact texture right here um it's all appearing in like the same spot like that even though they're in different spots right here and if we go back over to the geometry nodes when we move this around the texture sticks to each cube as soon as we realize it it's gonna stop treating each of them like a copy and you can see it's applying the material as if it's like a single object you can see when i move this up and down like that the texture will actually change depending on where it is so that's something you have to think about too when you're realizing instances if you wanted the texture to stick to each cube like this but actually look a little different you can do that um just go over to shading in the shading area there is a node i'm going to search for called object info right here you can see it will give us information about each object and one nice thing about this node is that it treats instances like they're separate objects so we actually have you know a different location for each instance we also have this random value it'll give us a random value between 0 and 1 per instance like that so we can use this to uh to make this look a little different if we wanted we could plug the random into the location of the mapping right here so now each object will have a random location between zero and one so these will look a little more different we could also change this to like 4d and plug the random into the w right here and if this isn't random enough for you you can do a few things you could add in a math node set to multiply and multiply it by like a really big number like 500 it's less likely that any of these are going to look similar you could do that with the location also or whatever or if you wanted to use this for something like the scale where you want to select a specific range you can use a map range node plug that into the value and then this into the scale and you can just select the minimum and maximum values you want and use the two min and two maximum so if you want the minimum value to be one and the maximum value to be like 50 or something like that you can do that and you'll be able to notice that some of them look a little bigger some of them have a lot more fine detail like that so one other thing that happens when you realize is things calculate at different speeds so we can actually check the speed if we go up over here to overlays and choose timings you can see that there's a time on each node and at the very end this is like the total time it'll take to like calculate now let's make this a little more intense we'll turn this up a lot higher you can see it's like 4.3 milliseconds right now and as soon as we realize the instances this jumps up quite a bit up to 11 from four so when you realize the instances it will slow things down quite a bit so i recommend only realizing instances if it's something that you need to do let's turn this down a lot lower now one other thing that changes when you realize instances is if you're trying to distribute points onto instances let's bring in a distribute points on faces right here and i want to distribute points onto the instances right here so i'm just going to drop this in you can see we have a bunch of points and i want to join these points with the instances over here so i'm just going to mute the set position grab the instances like that and i'm going to turn the density down quite a bit so one thing you will notice especially when i turn it down pretty low is that again just like the materials when you distribute points it's going to distribute them on the same spot on each of these cubes right here on each instance they're in the same exact spot as soon as you realize it that won't be the case anymore you can turn this up a little higher so it'll treat all of the instances like one object instead of like a whole bunch of copies of a single object like that so let's make that cool fractal shape now so we're gonna start off not with the group input but with a cone so i'll add in a cone right here and i'm gonna turn the verts down all the way to three so we have this object that has four points now and i'll change the depth to 1.5 so i'll take an instance on points drop that in right here and what i'm going to instance onto it is itself like that so now we have this shape right here and i want to basically do this over and over again instead of making a whole bunch of instance on points like this and then feeding it in like that over and over again i'm going to make a group so you can do this by selecting whatever nodes you want in the group in this case it's just a single node and you can hit ctrl g so now we're inside of the group you can exit with this arrow right here you can go back inside by hitting tab you can also exit and enter by just selecting the you know the group input or output and hitting tab you can like toggle it like that you can hit n over here or drag this arrow out to open up the side panel this is where you have access to all of the inputs and outputs so i don't need all of these options on the outside so i can delete some i'll delete the selection pick instance delete everything except for these three i also want the points and the instances and the scale to be sent out over here so i'm actually going to change the scale to a float so it's just one value now on the outside this is set to zero so i'll turn it back to one and i'll drag the instances over here and i'll drag the scale over here too and i want to rename these to match the input over here so i'll change this one to points just double click and rename it or you can type it in down here i hit tab to exit and this is what we have on the outside so we should now be able to just drag this over here and hook everything up to lazy connect like i'm doing you can hold alt right click and drag like that you might just have to uh i might have to change this to something smaller later because i don't want any of them to be overlapping like that so i'll turn it to 0.5 like that but i want these to be scaled up a little bit so at the very end we'll add a scale elements right here and i'll set it to two so now they're touching and they're working fine another way you can connect nodes quicker is duplicate this over if they have the same names over here so you know this is going directly into points it has the same name you can select two and hit f and it will connect them up like that this only works if they have the same names as far as i know and it will work with multiple nodes too so i'll just drag a few more in here we'll bring this up to about six and now with all these selected i'll just hit f and it will fill all of them in like that you can see every time we add one of these groups in it's uh you know iterating and making smaller and smaller shapes one other thing you should also know about is if you change something inside one of these it will affect every single group these are all like copies of each other and if you want them to be individual you just have to hit this button right here and that will make it a single user copy you can tell that there are six of these because it says six so if you click that these will go to five and this one will be a new different one if you change things in here it will be unique but i don't want to do that so i'm going to hit control z until it goes back one limitation with doing this is that it only works for up to six node groups i believe and this just has to do with like recursive instancing like we're doing here if you add a seventh one let me save this real quick in case it crashes if you add a seventh one right here it's not going to work and as far as i know the only way to fix it is by realizing so i'll add a realize instances in here we can pop that in at the very end and visually nothing will change but you know this will add some time to the very end it will make it take a little longer which is unfortunate so if we use the seventh one now this will actually work we actually get some you know some finer detail in here and as far as i know you can add as many as you want as long as you're realizing them you just have to be careful because every time you add this it gets heavier and heavier on your computer you can see up here in the spreadsheet it'll count all of the vertices that we're using and if i add one more it gets quite a bit bigger it gets big really fast so you can also change what shape you're using in here i just recommend that uh maybe you mute some of these before you change the shape because every other shape is going to have more verts than this so it's going to be heavier on your computer so i could you know replace this with something like an eikosphere and plug it in right here and we might have to adjust the scaling at the end i'll just set this to one and now we can just start unmuting these one at a time to see how far we can actually go it's already getting kind of slow when we do this let's see if we can add one more without it crashing so you can make some pretty interesting shapes using this method alright that's it for this one i'm planning on making a few more videos about geometry nodes for beginners so subscribe if you don't want to miss that i also have a playlist of all of my geometry nodes videos for those who are interested i'd like to thank my patrons for their support and i'd like to thank you for watching have a good one you
Info
Channel: Joey Carlino
Views: 78,392
Rating: undefined out of 5
Keywords:
Id: JvbppmT0ILY
Channel Id: undefined
Length: 43min 14sec (2594 seconds)
Published: Wed May 18 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.