Customizable Brick Wall - Geometry Nodes (Blender Tutorial)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
in this blender tutorial I'll show you how to create this customizable brick wall created with geometry nodes so this is a blender product which I have recently released so if you'd like to purchase the products then you can find the links to it in the description so in this video I'm first going to go over how to use the product and how to control the customizable geometry nodes of brick wall but then the rest of the video will be a tutorial showing you how to create it yourself if you'd like to do that but if you'd like to help support this channel then purchasing the geometry nodes brick wall is a great way to do that so I'll have the links to the product in the description so when you purchase the product you'll get this blender file with the geometry nodes brick wall and so the brick wall is added to a curve object so you can go into edit mode of the curve and you can select the curve handles and you can move the curve handles around and you can rotate the curve handles and that is going to move the brick wall around you can also extrude the curve by hitting the E key to extrude the curve and you can move the curve handles around and then that will extrude the brick wall out so the geometry node setup comes with many different customizable values so the first value here is the material so you can choose what material you want for the bricks and I've also created this procedural brick material which I'll be going over in a moment but you can choose the material of the object right here then we have the brick subsurf so you can make it higher quality if you want to and then we also have the bricks Edge crease and so this is basically going to change the bevel of that edge crease on the bricks then we also have the bricks height count so if you want the bricks to be higher up if you want it to be a really high brick wall then you can turn up the bricks height count or just keep it smaller then we also have the spacing of the bricks so if you want to make the spacing bigger then you can drag this out and you can see now there's going to be spacing in between those bricks then we also have the brick size so there's brick size one so there's the X Y and Z axis so you can change the size of those bricks and then also the second one here so there's the X Y and Z values to change the size of those bricks then you can also remove bricks with this value so if you want to make the brick wall looks like it is kind of worn and make some missing bricks you can turn that up a little bit and then we also have the bricks random seed so you can change that to randomize which bricks are removed and then there is that for the second row of bricks as well so you can turn up the remove bricks to and then also the random seed to kind of randomize that and then there are some random rotation values so you can turn up these random rotation values by just a small amount and that is going to randomize the rotation of the bricks so I just have these turn to a very small amount and then there's also this random seed for the bricks rotation so you can see just by chaining that random seed it's kind of randomly rotating the bricks and it just makes it look a bit more natural and then on the end here there are these pillar objects and so you can choose what object you want here so for this one here I have it set to pillars so it is Distributing this pillar object on the end of the curve then you also have the pillar scale so right now I have it set to a09 you can make it bigger or smaller if you want to then we also have the pillars rotation so you can rotate those pillars however you can also just rotate the curve handle and that'll rotate the pillars and then you can also subdivide the pillars so if you want to make them higher detail you can subdivide them and then there also is the subsurface value and there is also the edge crease of those pillars then there is also the starting and ending of the pillars so if you want the pillars to just be at the starting and the ending of the brick wall you can leave the pillar start and end at one if you want to completely remove the pillars you can turn the start and end values to zero or if you want there to be many pillars and you want there to be a pillar at every curve handle then you can turn both of these values up and now you can see whenever I extrude this there is going to be pillars on every single curve handle or you can just turn it back down to one so turn the values to one and now there's just going to be a pillar at the starting and the ending now as well as the geometry nodes being customizable the material is also customizable as well so you have this procedural brick material and we have the overall scale change the size of the material then we also have the noise scale and then we also have the different colors here so Colors 1 2 and three and then we also have the roughness of the material and then we also have the bump strength to change the surface of those bricks so that is how you use my geometry nodes customizable brick brick wall so again if you'd like to purchase the product you can find the links in the description and that's a great way to help support this channel but now in the rest of the video I'm going to be showing you how to create this customizable brick wall yourself all right so here I am in a new scene in blender and I'm just going to select everything and I will hit X and let's delete so I can now press shift a and let's go here to curve and I'm going to add the normal bza curve and I will zoom into the curve so let's now go over here to the modifiers and I'll click on ADD modifier and we can add geometry nodes and then I can click on new here to add new geometry nodes and I can just call it like brick wall so you can now click over here to go to the geometry nodes workspace or if you don't have the geometry nodes workspace you can click on the little plus here and then you can go down here to General and you can just add new geometry nodes so I just have the 3D viewport right over here and then the geometry nodes editor right over here now I am going to be using the node Wrangler add-on later in this video so let's just enable it now so if you don't have the node Wrangler enabled you can click on edit and go to the preferences and then over there on the add-ons tab just search for node Wrangler and you can check mark the node Wrangler add-on and I'll show you how to use it in the video so let's now create a cube which is going to be the bricks so I'll press shift a and I'll go here to the search and I'm going to search for a cube so we're going to add a cube within the geometry nodes and then what you can do is you can hold down the shift and ALT key and then you can select different nodes and that is going to preview the node in the geometry nodes now I want to change the size of the cube so on the X here I'm going to turn this up to two so that it is longer and here on the Y and Z I'll leave that at one so that is a good size for the brick now I want to give this cube a subsurf so that it is smoother so I'll press shift a and I'll go to the search and I'm going to search for the subdivision surface let's add the subdivision surface here after the cube and then I'm going to turn the level up to four and then also I'm going to turn the edge crease up to like a 6 and by turning up the edge crease you can see it's basically going to add a bevel there on the edges and then I also want to shade the object smooth so I'll go here to the search and I'm going to search for the set shade smooth and we'll put that after the subdivision surface and that is basically it for our brick object so I'm going to click and drag to box select all three of these nodes and I'm going to press contrl J contrl J is going to join them together into a frame and if you select the frame you can press f2 to add a label and I'm just going to call it brick and this way it'll keep all the nodes nicely organized so I now want to put this brick onto our curve so to do that I'll press shift a and I'll go to the search and I'm going to search for the instance on points node and let's put the set shade smooth this is the end of the brick we are going to put that into the instance of the instance on points and then I can shift alt select the instance on points to preview it now I'm going to take this group input and I'm going to drag it up here and I can bring these down and I'm going to take this group input geometry and I'm going to put that into the points of the instance on points so now if I go into edit mode and if I select the curve handles and move it around you can see that each curve handle has a brick on it but I want more bricks and I want bricks in between the handles so I'll press shift a and I'll go to the search and I'm going to search for the resample curve and we're going to put the resample curve here after the group input so by resampling the curve now you can see if I drag this out there are going to be lots of those bricks in between the curve handles now I want to make the curve bigger so go into edit mode of the curve and you can select everything with the a key and you can scale this up until it is quite a bit bigger and so I'm going to hit s to scale and then I'm going to type in five and then enter so it is five times bigger so I'll go back to object mode now so now you can see that the bricks aren't overlapping and so now what I can do is I can turn up this count value and that is going to add more of those bricks so I could continue to turn up the count if I want to but now if I go back into edit mode and if I move the handle around you can see that there's going to be less space or more space and so I want the amount of bricks to change depending on the size of my entire curve so to do that I'm going to click on the count here and I'm going to change the resample curve type to length instead and so this way it's going to adapt to the size of the curve so now this length here I can just turn that to like a two I think two is pretty good you can change this depending on the size of your bricks but now if I move this around you can see the size is going to adapt depending on the size of your curve so this way I can have very small curves and you can see the bricks aren't going to overlap each other or I can make the curve really big and it's going to add more of those bricks so it is adapting to the size now when I select a curve handle and when I rotate it you can see that the bricks are not actually rotating with the handle so to fix this I'll press shift a and I'll go to the search and I'm going to search for the Align Oiler to Vector so I'm going to add this node and this is going to give us the data for the rotation of the curve handles and then I also need to press shift a go to the search and I need to search for the curve tangent node so let's add the curve tangent I'm going to drop this here and then I want to put the tangent into the vector so now let's take these two nodes I'm going to to bring them down here and we can plug the rotation of the Align Oiler to vector and we can plug that into the rotation of the instance on points so these nodes are now controlling the rotation because they're plugged into the rotation of the instance on points so they're now going to determine the rotation of the bricks and because we've added the curv tangent now if I rotate the handles you can see that the bricks are going to rotate with the rotation of the curve and then if for some reason the bricks are going in the wrong direction then you can change the X to y y or Z so X works well for me that is the correct rotation but y or z may be good for you um so you can change that to whatever you need but now you can see the bricks are actually rotating so I'm going to click and drag to box select these two nodes I'll press contrl J to join them together into a frame and with the frame selected I will press f2 to give it a label and I'm going to call this curve rotation and if you haven't saved your project yet then you should definitely do that so you can click on file and you can click on Save and just save the project to your computer so we now have one nice layer of bricks however I want to add more layers of bricks and then I want to have the bricks offset so that the next layer of bricks is kind of moved over by half a brick and that way there will be one brick kind of in here in the middle in between these two bricks so to do this I'll press shift a and I'll go to the search and I'm going to search for the mesh line node and I'm going to put the mesh line over the group input and then I'll select both of these nodes and I'm going to bring them back a bit so if I shift alt and select this mesh line you can see this mesh line is just this little black line here which is coming up and I can move the start location and the offset if I want to but I'm going to leave it how it is and then there's also this count here and so if I turn up the count that line is going to get bigger so what I'll do is distribute the mesh line along the curve and this is going to make many curves on top of each other so I'll press shift a and I'll go to the search and I'm going to search for another instance on points node and we'll drop this up here so the mesh line is going to go into the points and then we want the original group input which is going to be this curve here so this curve object here that is the group input we are going to put that into the instance so now that I've done that you can see the mesh line is going out here and it's going along the curve and so if I move the curve that is also going to move those black mesh lines and then this count here is going to control the amount of lines so now what I can do is take the instance on points and I can put that into the resample curve instead and then this resample Curve will go into the points so let's control alt and select the instance on points so now that we have many more mesh lines we are instancing the cubes not only on the first one but it's being instan on all of the other curves so now if I move this around you can see we have all these duplicates so it's almost as if it is arraying this curve up so there are many more curves above the first one and if I go to this mesh line I can change the count to change the size of that brick wall now there is a problem and that is that I want to offset them because right now they are just layered on top of each other but I want them to be offset so what we're going to do to fix this is we are going to add more spacing in between each layer of bricks and then we're going to add more bricks in between the spacing and then that second layer of bricks we are going to offset those bricks over so that they are not straight up and down so that like there's one brick here in the middle and then there's two bricks here and then another brick here in the middle so I'm going to turn this count value to three so there are just three layers but then I'm going to take the mesh line and I'm going to turn this zv value up and I'm going to turn the zv value to two this way there's going to be a nice big space here and that is just the right size to put another layer of bricks let's also click and drag to box select all of these nodes here so these three nodes I'll press contrl J to join them together into a frame I'll just bring the group input back here so now we have these three nodes here and these nodes here I will select the frame I'll press f2 to add a label and I'm going to call this curves because these are the nodes which are going to make those extra curves so now we need to make that other layer of bricks so what I'm going to do is click and drag to box select all of these nodes here so not the group output not the group input but all the nodes in between and I'm going to press contrl shift D so control shift d is going to duplicate the nodes but it'll keep the wires plugged up so I'll drag this back here and I'll drag this over here so now we have another duplicate of all the bricks so now I want to join both of these bricks together so what I can do is press shift a go to the search and I'm going to search for the join geometry node let's put the join geometry here right before the group output and then I can take this instance on points put that into the join geometry and then this instance on points put that into the join geometry so now there's basically two bricks which are on top of each other so let's now go down here to the bottom bricks and we're going to use this bottom brick layer and we're going to offset the bricks over so I'll press shift a and I'll go to the search and I'm going to search for the transform geometry node and let's put that here after the cube and I can bring these down to give it a bit more space kind of bring these over kind of compress that in so now this transform geometry is after this Cube and so we can use this to transform that layer of bricks so you can see I can move these bricks on the Y and the X and the Z so here on the Z translation I'm going to turn this to one and so this is going to bring all of the layers of bricks up by one and so now you can see we now have all the bricks filled in but now I still need to offset them over so I can use the translation X to do this so if I drag this over you can see it's going to offset those bricks so I'm going to turn the translation X to one and now that is going to offset those bricks over so now you can see I can move the curves around I can rotate them and scale them and we now have a nice customizable brick wall now I also want to be able to randomly delete some of the bricks to make the brick wall look like it is worn and old so to do that I will press shift a and I'll go to the search and I'm going to search for the delete geometry node and we're going to put the delete geometry after this curves group of nodes so we'll put this here and you can see it's deleting all these curves but I just want to randomly delete some of the bricks so I'm going to press shift a and I'll go to the search and I'm going to search for the random value node and let's put this up here and we can select these nodes and move them over so we have a bit more space so let's drag the random value down here and we want to put the value into the selection and that way it's going to tell it to randomly delete different bricks however you can see this is a gray diamond and this one is a pink diamond so we need to click on the float here and we need to change it to Boolean and that way it's going to be the same connection so let's plug the value into the selection and now you can see it's going to randomly delete some of those bricks however there's a problem with this and that is that instead of deleting random bricks it is deleting layers of bricks so to do that we need to press shift a and we need to go to the search and we need to search for the realize instances node so we'll drop the realize instances after the resample curve but before the delete geometry and so now if I turn up the probability the random value it's just randomly going to grab different bricks and it's going to delete them so let's box select these three nodes here I'll press contrl J to join them together into a frame and I will press f2 to add a label and I'm going to rename this to delete random so these are the nodes which are going to delete the bricks so I I want to delete the other layers of bricks as well so let's click and drag to box select all of these nodes and I'll press Shifty to duplicate it and we're going to put it right down here on the other setup so let's take the curve the resample curve we'll put that into the geometry and then the delete geometry we can put that to the points and then I can drag this down here so drag the frame down there just to kind of fit it in there now sometimes this will happen where it's deleting a bunch of bricks and it kind of looks like some stairs and that is because of this seed value so this random value here has a seed but then the other one has a seed and if they are the same seed value then it's actually not going to look very random so for this random value we can just turn the seed value up to another value so I'll just turn the seed value to one but then this one up here we want the seed value to be zero and so this way now it looks much more random because the seed values are different if the seed values are the same then you can run into some issues so I'll turn the probability to zero and also back up here let's turn the probability to zero so that we can see all the bricks again so so I now want to add the pillars at the starting and the ending so I'm going to be modeling the pillars in the 3D viewport so I'll just go back over here to the layout so I can see this in full screen and I'll select the brick wall here and I'll press h to hide it so I'm now going to press shift a and I'll go here to mesh and I'm going to add a cube and let's zoom into the cube and I'm going to go into edit mode so I'm going to scale this object down on the z-axis and I'll type in 0. five and then enter and then I'm also going to scale it again on the x axis and I'll type in 0.5 and then enter so that is just going to be one of those bricks on the pillar so I'm now going to press seven on the numpad to go to top view and you can see that there are these different grids here in blender and so there are smaller grids and larger grids so I'm going to hit G to grab and I'll move this brick over and I'm going to bring it over here so that it's about two grids far out and then two grids up so you can see here's one grid and then here's another one and then here's one grid and here's another so I'm just going to stick that right about there and then I will press Shifty to duplicate and I'll bring this down on the Y AIS and I'll stick another one there and then I'll select both of them and I'll press shift d to duplicate and let's bring these over here so bring it over there so again two grids out from the center so that it is about an even Square size and I'll just click here in the corner to select one of the vertices and then I'll press the L key to select the linked vertices I'll press Shifty to duplicate stick it here and then I can rotate this and I'll type in 90 and enter and then I can also scale it down on the xaxis just a little bit and I'll kind of bring it in here and then I can press shift data duplicate and I'm going to bring this down here and have another one just like that so now if I go down here you can see we have one layers of bricks so I'm going to select everything with the a key and in edit mode I will press shift d to duplicate and I'll bring them up on the z-axis and just put another layer of bricks right there but then to make them look a bit more random and to make the ends not be the same point I'm going to rotate this I'll rotate it on the z-axis and I'll type in 90 and enter so now you can see the bricks have some offset so now I can again press the a key to select all the bricks I'll press Shifty to duplicate and I'm going to bring it up on the z-axis and then just place it right there and let me just press contrl Z to undo that so because I did that allinone action by pressing shift d then Z then moving up and then clicking right there because I did that all in one action I can now press shift R and shift R is going to repeat the last action so I'm going to press shift r two times so now we have 1 2 3 4 5 6 7 eight layers of bricks you could have more if you want to but I think eight layers is pretty good so I'm now going to press shift a and I'm just going to add another cube in edit mode and I'm going to bring this Cube up on the z-axis and then I will scale it and I'll make it much bigger let's press seven on the NAD to go to top view and I can hold down the Z button and go to wireframe and I'm going to scale this up so it's just a little bit bigger so about half a grid so you can see there's one grid so this is just about half half a grid and then if I go to front view I want to scale it down on the z-axis and I'll make it much thinner and I'm going to scale this down so it's a little bit bigger than half a grid and I can bring it down on the z-axis and just stick it right there so now if I go back to solid View and go back to object mode you can now see we have that nice brick pillar so I will now press alt H and ALT H is going to unhide the other objects so I'm now going to select this pillar object and I'm just going to move it over out of the way so let's just select the curve again and I can now go back over over here to the geometry node editor so we can now add the pillars to the edges so I'll press shift a and I'll go to the search and I'm going to search for the object info node and if we go here to the object info we can click right here and we want to select the cube because the cube is that pillar that we created so what I'm going to do is drag the group info right down here so that it's kind of in the middle and then I'm going to box select all these nodes and bring them up so I have a bit more space and I'm going to add the object info kind of right here in the middle so what I can do do is hold down the shift and ALT key and then select the object info and that is going to preview it so you can see there is our pillar but I want to do a few things to the pillar so what I'm going to do is actually go back to the pillar real quick the actual pillar object and I'll go into edit mode and I want to add some Loop Cuts so I'll press contrl R to add a loop cut and left click and right click so it stays in the center and then contrl R to add a loop cut left click and right click so it stays in the center and why I'm adding this is so that the edges are a bit smoother when we add the Sub Surf modifier all right so let's go back back to the curve and select the curve object which has the geometry nodes so now to make the pillar look better I'll press shift a and I'll go to the search and I'm going to search for the subdivide mesh and let's put that after the object info so this is going to subdivide it just a little bit more then I'll press shift a and I'll go to the search and I'm going to search for the subdivision surface and let's put that after the subdivide mesh and on the levels here I'm going to turn this up to three so that it is higher quality and then here on the edge crease I'm going to turn this up to like a 0. five and that'll add kind of that bevel there so now it actually looks like some Bricks now I also want to shade it smooth so I'll press shift a and I'll go to the search and I'll search for the set shade smooth and we'll put that after the subdivision surface as well so it is smooth so I'm going to click and drag to box select all of these four nodes I'll press contrl J to put them into a frame and if I click on the frame and press f2 to add a label I'm going to call it pillars so I now want to distribute the pillars on the curve so I'll press shift a go to the search here and I'm going to search for the instance on point so let's put that here after the set shade smooth and I'll put it here in the frame so we can now go over here to the group input and I'm going to take the geometry and I'm going to put that into the points then I want to take this set shade smooth and I want to put that into the instance and so by doing that now if I hit the Tab Key to go into edit mode of the curve when I move the curve handles around you can see that it's going to move the pillars around and if I extrude the curve handles that is going to add more pillars so you can see wherever the curve handles are that that is where the pillars are going to be now I want to be able to control how many pillars I want because right here you can see I have three curve handles and so maybe I only want the pillars to be at the starting and the ending but not in the middle so to do that I'll press shift a and I'll go to the search and I'll search for the end point selection and we'll put that in the pillars so this is going to be the data of all the curve handles so let's take the selection and I'm going to put that into the selection of the instance on points and now if I turn them to zero you can see there AR any pillars but if I turn the start size up to one there's just one at the starting if I turn the end size up to one there's just one at the end and then if I continue to turn them up it's going to add more pillars in between the middle of the curve so I'll just leave the start size and end size to one for now so this is very cool but the problem is that we can't actually see the brick wall now so I just need to take the instance on points I need to plug that up to the join geometry and then I can shift alt and select the join geometry so now you can see if I select the curve handle and move it around we have both the pillars and the brick wall now another thing that we can do is we can change the size the pillars so let's go over here to the pillars and I can press shift a and I can go to the search and I can search for the transform geometry and let's put that here after the object info we'll put it here in this Frame and it'll also be before the subdivide mesh so we can now use this scale value here on the transform geometry and we can scale all the values at the same time so you can click on the top one drag down and then drag left and right and that'll change them all at the same time but I'm going to leave it how it is because I think the scale is a pretty good size but you can change that scale there if you want to now another problem is that when I select the handles and rotate them the bricks are rotating but the pillars aren't actually rotating so I want the pillars to rotate as well so this is really easy to do we can just take the same data of the rotation of the curves and that is this curve rotation and we can take the Align Oiler to Vector we can take the rotation and we can plug that into the instance on points which is controlling the pillars so because we want it to control control the rotation we'll put that into the rotation value there and now because it has that data of the rotation of the curve handles if I rotate it you can see the pillars are rotating as well now I also want to add a slight random rotation to all of the bricks so to do that I'm going to go over here to the curve rotation and I actually want to give a bit more space here so I'll click and drag to box SEL these nodes and just bring them down here so I have a bit more space here so I'll now press shift a and I'll go to the search and I'm going to search for the rotate Oiler node and let's drop this down here and I want to put it here inside the curve rotation frame so stick it in there and I'm actually going to stick it here in front of the other nodes so I will drag this over here and put that in front so I'm going to now take the Align Oiler to Vector we'll take the rotation and I'm going to put that into the rotation of the rotate Oiler so we're giving it the data of the curve rotation and I'm now going to instead replace it for these other inputs here so let's take the rotate Oiler and we're going to plug plug the rotation instead into this instance on points rotation and then also this one right here this is going into the rotation of this pillars here so let's take the rotation and I'll put that into this one there so now if I take this rotate by and rotate it around you can see it is going to rotate all of those bricks but instead of rotating all the bricks at once I want to give the bricks a random rotation so to do that I'll press shift a and I'll go to the search and I'm going to search for the random value node let's put this here in the curve rotation and I can take the random value and we are going to put that into the rotate by so now you can see it's randomly rotating all the bricks however I only want them to rotate on the z-axis so let's click on the float here and I'm going to change it to Vector instead we'll drag this up here and I want to put the value into the rotate by again so this time because it's turned a vector we have the X Y and Z values and the X Y and Z values so I'm going to first turn all the values to zero but I can now just rotate the bottom ones so the Min and the Max and you can see they're only going to rotate on the z-axis so I'm going to make these very small numbers so here on the Min I'm going to change this to a negative 05 and then here on this maximum zv value I'm going to turn this to just a 05 so now they're going to have a slight rotation if I click on the random value and press the m key to mute the node you can see that is the difference so they're just going to have slight random rotations all right and that is pretty much it for the geometry nodes so I'm now going to be showing you how to add all the different customizable values so I'm going to drag this side panel out here so I can see it better so I can see all the customizable values so the first thing that I want to add is the material and we're going to be creating the material later in this video but what I need to do is add a node which will set the material so I'll press shift a and I'll go to the search and I'll search for the set material node and we're going to put the set material right here at the very end after this final join geometry and then I can take this orange dot here this kind of red Dot and I'm going to drag it all the way over here over to the group input and I'm going to plug it here into this Top Value here and then if you press the N key to open up the side panel you can rename this if you want to but I'm going to leave it as material so now right here in the customizable geometry node setup we can choose the material and we'll be adding the material later now I also want to add the brick subsurf so what I can do is go right up here to the bricks and we have the subserve so let's take the subserve level and I can drag this down here and put that into the extra socket but then I want the other one to be controlled as well at the same time so we're going to go down here to these bricks and we're also going to take this subsurface level and let's drag this over here and we'll plug that into the same level value and because they're going into the same level value this level will control all the bricks at once so if I drag this level down you can see it's controlling all the bricks so then if I double click on this to rename it I'm going to rename it to bricks subsurf and then I want to do the same thing for the bricks Edge crease so let's go up here to the subdivision surface and we have the edge crease so I'll plot a wire drag that down here and we'll stick that into the group input and I can double click on this to rename it and I'm going to rename it to Bricks Edge crease and then I want to go over here to the bottom one so these bricks here let's take this Edge crease from the other bricks and I can drag this up here and we'll stick that into the bricks Edge crease as well so now if I go here and control this value it's controlling it for all the bricks at once and then also I don't really want this button here this button is used for other things like Vortex painting and other things but I don't really want it so on the bricks Edge crease you can click on the single value and that is going to get rid of that button and it just makes the customizable geometry nodes look more neat now I also want to be able to control the bricks height count to make more layers of bricks so I'm going to go right up here we're going to go to the mesh line and we can take this count value let's drag this down here and we're going to stick it here into the group input and then I want to do the same thing for the other one so let's go down here to these curves and this mesh line we're going to pull out a wire and we're going to drag this into the same exact value and then if you double click on this to rename it I'm going to rename it to Bricks height count now I also want to be able to control the brick spacing so if we go right over here to this resample curve we have this length here and that'll control the spacing so let's pull out a wire we can drag this all the way over here and let's stick it into the extra socket and then I want to do the same thing over here so let's go over here to the resample curve on the curve here we take the length we can drag this over here and we're going to stick it into the same socket so it controls both of them and then if you click on the length I also want to turn off the single value to get rid of that button there and then if I double click on this to rename it I'm going to rename it to Bricks spacing so now I can just drag the brick spacing here and you can see it's going to add the spacing for all the Bricks now I also want to be able to control the brick size so what I'm going to do is go up here to this top Cube and this Cube here we can take the size and I'm going to drag this over here and stick it into the bottom socket and then I can double click on this to rename it here and I'm going to rename this to Bricks one size and then I want to do the same thing over here so let's go down here and we'll take this Cube we're going to take the size and I'm going to drag this up here and put it into the extra socket and this one I'm going to rename to Bricks 2 size so now right over here on the custom node group we can control the size of those Bricks now I want to be able to remove random bricks so let's go right up here and we're going to go over here to the delete random and you can see there is this probability to randomly delete some of the bricks so let's take the probability I can drag this over here and we're going to stick it into the extra socket here and I'm going to rename this two remove bricks one then let's go right back up here we're going to go back up to the delete random and I also want to be able to control the seed so let's pull this out here we'll drag a wire over here and we'll put this into the extra socket and I'm going to rename this one to remove bricks seed one so then I want to do the exact same same thing but for the other bricks so let's go down here to the delete random let's take this probability I can drag this up here put it into the extra socket and then if I go back over here we also want to take this seed value I can drag this one over and I'll put that into the extra socket as well so then I can give it the same name so this here this probability this is going to remove bricks 2 and then this remove bricks seed 1 this seed value I want it to be the same name but it's going to be remove bricks seed 2 so now I have those different customizable values here and also I don't really want those extra buttons there so I'm going to click on each one of these and I'm going to click on a single value just to make it a bit more clean and neat because we don't really need those values so I'll turn that off so now we can remove random bricks just by turning up this value and also this value here and then we also have the seeds there now another thing which I forgot to do is I forgot to take this curve rotation and I forgot to add it to these other bricks because you can see right here we have this curve rotation and so this is making the curves rotate however I now want to use this one up here and this one is going to add those random values so let's take the rotate Oiler here this one has the random value and we're going to drag this down here and we're going to replace it here in the rotation so we're going to replace it for these nodes and so now if I go back up here to the random value and move this it's going to rotate all the bricks randomly so we can now go right back down here to the curve rotation and we can delete these nodes because we don't actually need them so now I also do want to be able to control the random values so these random values here I want to be able to control them in the custom node group so what I could do is take the minimum and maximum values and I could plug those up but I don't want to be able to control the X and Y values because that just makes the brick ball look really weird I only want to control the Z values so what I can do is break up the values into three different values so what I'm going to do is press shift a and I'll go to the search and I'll search for the combine XYZ and let's put this down here and I can actually drag the curve tangent and the Align Oiler to Vector I'll drag this up so I have a bit more space and I will press shift d to duplicate to duplicate the combin XYZ so now we have two of them so I now want to copy all these values over here and then these values over here and that way it'll break up the values into three values instead of just one so this one is 0.5 so I'm going to copy this and I'll paste it here so 05 this one is05 so I'll past that into the Z so now if I take the combin XYZ and put that into the minimum and also this one here and put that one into the maximum we've now broken up the values so we have the X and the Y and the Z and we have that for this as well so what I can do is drag this group input right here and then I just want to control the Z so we'll take the Z we'll put that into the extra socket and then this Z value we'll put that into the extra socket and then if I click on these values we also want to turn off the single value and also this Z1 here turn off that that single value or actually turn it on so it gets rid of that button so now I want to rename these so I'm going to double click on this to rename it and I'm going to rename this one to random rotation Min for minimum and then this one here I'm going to rename this one to random rotation Max so now if you go down here let me just make this bigger so you can actually see it a bit better I'll drag this out so you can look at the bricks here so I have the random rotation Min and the random rotation Max to just control that now we also have this cool C value here and so if I move this around you can see what the random rotation is actually doing so let's plug the seed into the extra socket here on the group input and then if I double click on this to rename it I'll rename this one to random rotation seed and then let's also click on that single value there to get rid of that button now I also want to be able to control the pillar object if you want to add a different object so let's go over here to the object info and we can take this orange dot here and let's plug that into the extra socket and then I can double click on this and I'm going to rename it to pillar object so now you can see right down here we could click on this and we could change it to a different object if we wanted to now I also want to be able to control the pillar scale and the rotation so let's go back here to this transform geometry here and we can control the scale and rotation so let's first take the scale here let's drag out a wire and I can drag this into the extra socket here now if you go down here you can see there's an X Y and Z value but I want to control all these values all at once so let's click on this scale here and I want to click on the type here and right now it is set to Vector but I'm going to change it to float instead and my screencast keys are kind of in the way there but you can see the type there I want to change that to float so float is going to be a one single value so you can see now here on the scale it is one value instead of an XY and z now on the default value I just want to turn that to one and then here on the actual scale on the geometry node setup I want to change that to one as well so now if I drag that scale it's going to change the size of those pillars and we can double click click on this to rename it and I'm going to rename it to pillars scale and then I want to be able to control the rotation of the pillars but I only want to be able to control the z-axis so if I go right over here to the pillar group you can see there's this transform geometry and there's these rotation values but I only want to be able to control the Z I don't want to be able to control the X and Y that just doesn't make sense so what I need to do is break up the values just like we did before so we can just control the Z so I'll press shift a and I'll go to the search and I'm going to search for the combined XYZ and let's put this down here and stick it into the frame and then I want to take the vector and I want to put that into the rotation so I can now drag this up here so we've now broken up the rotation into y and x and z so we can just take the Z value and we can put that into the extra socket there to control it and then I want to double click on this to rename it and I'm going to rename it to pillars rotation and so now if you go right down here to the customizable geometry node setup you can rotate this and it's only going to rotate it on the z-axis now I also want to be able to control the pillars subdivide and the pillar subserve so let's first go here to the pillars and we'll go to the subdivide mesh and I can take this level here and I'll drag this over and I'll stick it into the extra socket there and I'll rename this one to pillars subdivide and then I also want to be able to control the pillar subsurf so let's go back here to the pillars and we have this subsurf level so I'll drag this over here and we're going to stick it into the extra socket here and then if I double click on this to rename it I'll rename it to pillars Sub Surf and then I want to be able to control the pillar's edge crease so let's go back here to the subdivision surface and we have this Edge crease so I'll pull out a wire drag this all the way over here and stick it into the extra socket and if I double click on this to rename it I'll rename it to pillars Edge crease and then I want to be able to control the pillars starting and ending so if we go here to the pillars we have the start size and the end size so let's drag this over we'll put that into the extra socket and then go back here and we'll take the end size and we'll put that into the extra socket as well and then to rename these I'm going to rename this first one here to pillar start and then this last one here I'm going to rename this to pillars end and then also to get rid of those buttons there I will click on the pillars Edge crease and click on single value pillars start and choose single value to get rid of that button and pillars and choose the single value all right so now we can drag the pillar start up and just to show you real quick I'm going to extrude this out many times so I'll extrude that out many times so you can see now the brick wall is very long so if you turn up the pillar start now it's going to add more and more of those pillars wherever there is a curve handle or you can just turn it to one if you just want one at the starting and then also one at the end there all right so I will press the nend key to close the side panel I'll save this again and I'm going to go back over here to the layout and then I can make this a bit bigger so we can see it and so there we go we now have this massive geometry node setup and we have many different customizable settings and then of course we can select the handles in edit mode and move them around to move around the brick wall all right so we're now going to going to be creating the material and we'll also do some lighting and a few other things so what I'm first going to do is go over here to the render properties and I'll go down here to color management and I'm going to be using agx which is newly added to blender 4.0 so I'll choose agx for the color management and for the look here I'll choose high contrast and then I also want to add some hdri lighting so I'm going to click over here on the world properties and here on the surface I'm going to click on this yellow dot here to change the type and instead of color want to change this to environment texture and then I can click on open to open up an hdri and I'm going to be adding this skylet garage 1K HD so this is a free HD from poly haven.com link is in the description if you'd like to download it and I download the 1K version and I downloaded the HDR version from poly Haven so I'm going to click on that and click on open image and now if I hold down the Z button and move my mouse up into the render view we can see some nice lighting I'm also going to press shift a and I'm going to go here to light and I'm going to add a sunlight and I'll rotate the sunlight over and then if I click here to go to the object data properties I'll turn this strength up to maybe just like a two or a three so that we have some nice bright lighting I'm also going to add a camera by pressing shift a I will go here and add a camera and I can move my view to wherever I want the camera to be and I can press control alt numpad zero to bring the camera to where I am and then if I select the camera I can hit G to grab and I can double tap the Z key to bring the camera out and hit G to grab grab and move it over and then lastly I'll just press shift a and I'll go here to mesh and add a plane and I can scale the plane up so that it is very big and then also I can go here to the bottom and I'm going to bring the plane down so that the pillars are just resting on the plane all right I'll go back to rendered mode and if I click on the plane I'm going to click here to add a new material let's click on new and I can just rename this material to ground and then here on the base color I'm just going to make this fully black all right so I can now select this object here and let's go over to the shading workspace so that I can add a new material so let's click on new to add a new material and I can just rename this to Bricks now if I hold down the Z button and move my mouse up into the rendered view you can see if I take the base color and try to change it it's not actually affecting the object that is because we need to go right over here to the modifiers and we need to click here on the material on the geometry node setup and we need to add the bricks material that we just created this way if I take the base color and change it now it's actually applied to that object because it's added in the geometry node setup all right so we can now create this procedural material so I'll press shift a and I'll go to the search and I'm going to search for a noise texture let's drop the noise texture here and then because we turned on the Node Wrangler add-on I can press contrl t with the noise texture selected to add the texture coordinate and mapping and let's use the object coordinates so I'll plug the object into the vector and the object coordinates is going to place the noise texture on the object more evenly so now let's contrl shift and select the noise texture to preview it on the object so here on the noise texture scale I'm just going to turn this to one and then let's also take the detail and turn it to the max of 15 and then this roughness here I will turn it up to like 8.55 now there is a problem if you zoom in here you can see the noise texture is the same on all the bricks because it is instancing the bricks so what I want to do is add a random value so that the noise texture is placed randomly around each brick so I'll press shift a and I'll go the search and I'm going to search for the object info node and let's drop this here now we have this random value and this random value is going to randomly generate from white to black or from 0 to one so we can take the random value and we are going to put that into the location of this mapping and so this way the mapping is controlling the noise so the noise is going to be randomly placed for each of the bricks so now it looks much more random so then I want to make it more contrasty so I'll press shift a and I'll go to the search I'll search for a color in and we can put the color ramp here after the noise texture and then I can contrl shift and select the color ramp to preview it so I can now drag the black tab over and drag the white tab over to make it a bit more contrasty so you can see the texture a bit better and then I also want to make the custom colors so I'll press shift a and I'll go to the search and I'm going to search for the mix color node and let's drop the mix color node down here so we can now make all of the different custom colors so I actually want to take the color ramp and I want to put that into the factor and so here on A and B we can make the different colors so here on color B I'm going to make this kind of a reddish brownish color and I'll make it a bit darker and if you want to use the same value that I'm using you can go here to the hex value and you can punch in 9B 4 C 3A so that is the color for color B and then here on color a I want to make this darker so I'm going to make it kind of a reddish orangey color but then I'm going to make it pretty dark and if you want to use the exact same color that I'm using then you can go to the hex value and you can punch in 358 1 0 so that is looking pretty cool but I also want to add some more nodes which are going to make the edges a bit brighter so that the bricks look a bit more worn so I'll press shift a and I'll go to the search and I'm going to search for the geometry node let's drop this here and we have this pointiness value and this pointiness value is going to make the edges look more Bright Now a few things to know about the pointiness the pointiness will not work in the material preview so if you're in the material preview mode you're not going to be able to see the pointiness value and then also if you're using blender e the pointiness value won't work so you need to make sure you're using the Cycles rendering engine and make sure you're in rendered mode so I now want to be able to see the pointiness and I want it to be more contrasty so I'll press shift a and I'll go to the search and I'll search for another color ramp and let's just contrl shift and select the color ramp to preview it now let's take the pointiness and I'm going to put that into the factor so that we can actually see it and then I can drag both of these tabs together and if I drag them really close to each other you can see it's going to be more contrasty so now we have the edges of the bricks and we can make that look more worn however right now it looks very smooth and so I want to mix some noise into it to make it look more contrasty so I'll press shift a and I'll go to the search and I'm going to search for the mix color node and let's drop it here after the color ramp and then I want to take the noise texture factor and I'm going to mix this in so I'll mix it into color a and then this color ramp color can go into color B and then in this Factor here I'm going to turn this to like a055 now right now it's just kind of mixing them together but I instead want the noise to actually distort the edges of that pointiness value so I'll click on the mix here and I'm going to instead change it to the linear light so now if I drag the factor around you can see if I drag it to a 0.55 you can see now the edges look really random and noisy so that is exactly what I want and it makes it look more random and organic so I now want to mix that into the color so I'm going to click on this mix here which has the colors and I'll press shift to duplicate it and drop it here so I can now take this original mix and I'm going to put that into color a and then this linear light result here which is the pointiness I can put that into the factor and so by putting it into the factor it's going to control where is going to be color a and where is going to be color B so I can now control shift and select the mix to preview it so now here on color B I'm just going to make this a little bit of a lighter color so I'm just going to turn this up so it is a bit lighter and also if you want to make that bigger or smaller you can drag this around here so you can drag the color ramp and you can make the worn edges bigger or smaller so I think I'll make them a little bit bigger so you can see here it is before without the worn edges and then here it is after so it really does add a lot to the material all right so I can now drag the material output back here and I can drag the principal Shader over and I'm going to take the mix result and I'm going to put that into the base color of the principled Shader and I'll contrl shift and select the principled Shader to preview it now I also want to control the roughness so we are going to take this noise texture here and we are going to plug the factor into the roughness so take the factor and put that into the roughness value and that way some parts are going to be more rough while other parts are going to be more shiny however I do want to be able to control the roughness so I'll press shift a and I'll go to the search and I'm going to search for a hue saturation value and we'll put this in between the noise texture and the roughness and I can drag it down here so if the values are lighter or darker that's going to make it more rough or more shiny so this value here can now control the roughness so I'm going to turn the value up to a 1.4 and that way all the bricks are going to be a bit more rough and then I also want to make the bricks more bumpy so let's take the noise texture factor and I can put that into the normal but then you can see the shading looks really weird and that's because I need to convert the black and white noise texture into normal data that the Shader can use so I'll press shift a and I'll go to the search and I'll search for the bump node and we'll put the bump node in between the noise texture and the normal and I can drag this down here so that it's better organized and we actually want to take the noise texture factor and we want to put that into the height value and that is actually going to convert it to bump data so now the bricks look really bumpy but they are way too bumpy so I can turn this strength down to make it less strong so I'm going to turn the strength just to3 so now we have a really nice brick material so I now want to join this together into a custom node group so I'm going to click and drag the Box select all these nodes except the material output and I'm going to press contrl G to join it together into a node group now if you press the tab key with the node group selected that is going to go in and out of the node group so I'm going to drag the node group over here let's make it a bit bigger and then if I click here to rename it I'm going to rename it to Bricks so now hit the Tab Key to go into the node group and I will press the N key to open up the side panel and if you click here on group you can see we have the different customizable values so here on the interface I'm going to double click on this and I'm going to rename it to Shader because I like that better so now we can go over here to the group input and we can add all the values into the group input and then that way we'll be able to control it outside of the node group so I first want to control the overall scale so let's take the scale from this mapping let's put that into the extra socket and then if I click on the scale here instead of it being three values I just want it to be one so let's click on the vector here and I can change it to float instead and now you can see it's one value and then here on the default value I need to turn this to one so that one is the default but you can see the texture is now missing so if I go outside of the node group with the Tab Key I need to turn the scale back to one and now you can see the noise so let's hit the Tab Key to go back into the node group now I also want to control some of the noise settings so let's take the noise scale here we can put that into the extra socket and also the detail let's put that into the extra socket and the roughness I'll put that into the extra socket and then if I double click up here to rename these I want to rename these to noise so we're going to add noise scale let's also rename this one to noise detail and then this one here I'm going to rename to noise roughness and then I want to be able to control the custom colors so let's drag the group input right over here and I can take this color here color a we'll put that into the extra socket color B will put that into the extra socket and then this color here will put that into the extra socket and then if I double click on this to rename it I'll rename it to color one and I can also rename this one to color two and then I think I'm going to actually rename this to Edge color that's a bit better so I'll rename it to Edge color instead and then I also want to be able to control the roughness so this value here is going to make it more rough or more shiny cuz it's controlling the brightness or Darkness so we'll put the value into the extra socket here I can double click on this to rename it and I'll rename it to roughness and then finally I want to be able to control the bump strength so let's take the strength here I can put that into the extra socket and if I double click on this to rename it I'll rename it to bump strength all right so we can drag the group input right down here or maybe just right over here and I'll press the end key to close the side panel and I'll hit the Tab Key to go outside of the node group and I'll make this a bit bigger all right so we can now review the final material so we have the overall scale and then the noise scale and the noise detail and the noise roughness and then we also have the different colors here so color 1 and two and then we also have that edge color then we have the roughness of the material and then finally the bump strength and then of course if you go right over here go to the modifiers and then also select this object here you can go to the geometry nodes brick wall and you can change many of the different settings and then of course if you hit the Tab Key to go into edit mode of the curve you can move the Curve around and you can radit it to control the bricks all right so that is it that is going to wrap it up for this tutorial so I hope you enjoyed this and thank you so much for watching and if you'd like to help support me and this YouTube channel to help me keep on creating these free tutorials then a great way to do that is by purchasing the finished project files and you can get that on my gumroad store and my patreon page as well as the blender market I'll have all the links in the description and also checking out my gumroad store and patreon Page are really great ways to help support the channel and on my gumro store and patreon page you can get access to 3D models and assets tutorial files artwork project files procedural materials and much more content on my gumroad store and patreon page and if you'd like to help support the channel here on YouTube then you can check out the YouTube memberships by clicking down there on that join button next to the Subscribe button and by joining the YouTube memberships you'll get some cool perks here on YouTube and you'll be supporting the channel monthly and if you enjoyed this video and You' just like to send me a little tip you can also use the super thanks feature here on YouTube to send me a little tip underneath this video so that's going to finish it up for this video so I hope you enjoyed this and thank you for watching
Info
Channel: Ryan King Art
Views: 13,055
Rating: undefined out of 5
Keywords: Ryan King Art, Blender Tutorial, Blender, Ryan King, Tutorial, geo-nodes, brick wall, procedural, bricks, geometry nodes, customizable brick wall, ryankingart, blender tutorial, geo-nodes brick wall, pillars
Id: oE3GqhSd3NA
Channel Id: undefined
Length: 53min 33sec (3213 seconds)
Published: Thu Dec 07 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.