Foreign hey and welcome to the breakdown video for the Minecraft blender geometry node world generator this is going to be doing a deeper dive into the video I put up about two weeks ago so if you haven’t seen that go ahead and take a look at it I’ll leave the link here And you can also download the file for this it’s up on my website and it’s free so make sure to check that out if you want to mess with it and give it a try for yourself so let’s get started let’s take a look at the textures first we’ll ignore the nodes there And you’ll notice there’s a couple different textures here these were all handmade in so um yeah it’s pretty straightforward they’re only 16 by 16. so that was pretty easy and then they all were put onto blocks and put onto these collections so each collection contains a single block so you’ll notice like the Grass has a grass block Bedrock has a Bedrock Rock Etc um so these are basically the foundation of everything so everything you see here is just a duplicate of these and the nodes here are a little bit difficult to dive into so I’m going to show a simpler version and then you can Get a better idea of what’s going on from there okay so let’s take a look at a simplified setup that’ll help us better understand the more complicated mess that is the world generator so as simple as we can get it here we have six nodes And let’s see what’s going on so we have an integer here this is the value that’s creating the world size and that’s being plugged into a grid node so this grid node is essentially just creating a series of points we’re telling it how big we want the range of points to be With this size X and Y and then we’re telling how many points we want in there with the vertices X and Y one thing to note is you’ll notice there’s a math node here adding a value of one the reason for that is if we Don’t do that at all and just plug the raw value in there is a gap and this Gap is equal to the width of one of these blocks so this is a percentage of that block and the way we remedy that is just by adding one so that adds an Extra block end and it fills in that Gap the side effect of that is it creates an extra block so you’ll notice here integer is eight but there’s actually nine wide or if we change it to four there’s actually five so it’s a five by Five but it’s not really a big deal if it bothers you you can use some extra math nodes to change it for the sake of Simplicity we’re just going to leave it as is but once we have our Cloud so to speak of points we plug that into one of the Coolest nodes that has ever existed uh the instance on points node and I love this because there’s just so much cool stuff you can do with it but um yeah we’re plugging the points in so we’re basically telling this node here are all the points that I want to create an object on So it knows that there’s a point here a point here Point here here here Etc and then we need to tell it what we want to be on that point so we’re telling it the instances are the objects in this collection info node and you’ll see up here I have the Collection and this just got a cube in it so all of the cubes in this geometry node setup are just duplicates of this Cube essentially I always just disable this so that Cube doesn’t get in the way so a quick side note one thing to keep In mind is size matters when it comes to the object you’re instancing so if we go to the collection here you notice I’ve scaled the cube down to 0.5 is because the grid is in terms of meters and the default cube is basically two meters Across so we want it to be a meter across in all directions so you want to make sure you scale it down because if you don’t for example if I scale this up then we just get some weird effects and it’s an extra pain in the butt to add an Extra math node to sort that all out so you can either do it with a math node or just scale the original object with the object properties panel either way works but just keep in mind that it is important but um yeah that’s pretty much it for the the simplified version but the Problem with this is we only have two axes so we don’t have an X and A Y and uh that’s not very exciting we want some more depth to it so let’s see uh how we can add a z-axis I have the nodes all ready to go down Here I’ll just plug these in so we’ll put the points in here and out here all right so you’ve noticed that the cubes are now going up as well and the way it’s doing that is it’s taking the same grid and it’s just duplicating it along the z-axis so this Grid is going into this duplicate elements node and it’s telling it what points to duplicate it’s duplicating it and then it’s just moving it on the z-axis with this combined XYZ node and then this set position is moving it so it’s offsetting it up based on this noise texture and Then outputting it to the instance on points node and noise textures are another super super cool note um they’re just so much you can do with it but in this case you’ll notice there’s a another math node that’s multiplying the noise texture and the reason for that is we’re using this Factor output And you’ll notice if we plug that directly in nothing happens the reason for that is this factor is a value between 0 and 1 and we’re essentially just multiplying by zero because it’s not a whole number and it needs to be at least multiplied by one to have anything Show up there so we have to multiply it to get it greater than one and this value that we’re multiplying it by actually creates the height we want so we can slide that up and down until we have a value we like so a quick side note on noise one of the Reasons it’s so useful is it’s a super easy and quick way to get a lot of detail without doing much work because it’s just random values and the real world is random there’s hills and mountains and um instead of having to model those individually you can just have the Computer do it so there’s a RGB output and a factory output so the RGB is basically just three numbers that represent the red green and blue value factor is basically for height so that’s why we use factor in this case because the zero is black and it would be a low Point and then white would be one and that’s the high point so that way we can get a lot of variation and then change it really quickly so we have our three axis controls here and there’s actually a lot we can do with this already we can play with this Noise texture if you’re on 4D you can change this W value and this is essentially like the seed so you can put that to whatever you want and it’ll just create a variation and this scale here will crank down we’ll change that to like 0.1 and you’ll notice it’s a lot more um Terrain looking it looks a lot more like Minecraft with like Hills and Valleys and stuff and you can fiddle with that make it a little bit more interesting but uh this is pretty much the way it works the extra thing that the final setup has Is it’s got layers in it so we can easily add layers by basically just creating another offset so just use the same points and duplicate them so most of this just comes down to creating points putting an object on the point and then moving it somewhere so we’ll go ahead and duplicate these Three nodes here the set position collection info and instance on points nodes shift d that and we want both of these to display at the same time so we will use a join geometry node and we’ll plug both of these in here and this will combine both of these to the Output and nothing’s happened yet because we haven’t given this any data to work with so we can plug our set of points in to the geometry and you know something did happen uh it’s just created an extra set of Cubes that are kind of clipped into here Because we haven’t pulled it where’d it go yet so the way we can do that is you notice we can like manually slide this up and down you can almost kind of get the effect we want but it’s no no use because if we increase the height it doesn’t move with it So the way we’ll change that is we’ll plug this into the offset and you know it’s not quite right uh it’s a little bit odd but at least it’s moving with the scale now so there’s two things we’ll need in order to fix this the first is another Combined XYZ node so we’ll just duplicate this we want it to move on the z-axis so we’ll plug Z in and you’ll notice we’re almost there we’re super close the only thing is it’s a little weird because you’ll notice some of these cubes are just barely floating above that’s Because these aren’t integers so instead of being say like eight blocks tall it’s like 7.3 so it’s just kind of hovering above and because it’s noise and it’s random for each block it’s a different floating value for each one so they’re all kind of hovering at different levels The way we can fix that is with another math node here plug this in and make this look prettier move that around and instead of adding we’re actually going to use a rounding function so we’ll use floor so what floor does is it takes the value From this and it rounds it down to the nearest integer that’s lower so say like 7.4 would just get rounded down to seven so it’s the equal to or less than integer so if it’s 7 it’s stage seven there’s seven point one it ramps down to seven Um and the reason that’s useful is because now it’s an integer and because it’s an offset value it’s um you’ll notice we’re rounding down instead of up because it’s offsetting that number so it’s basically adding one to the existing mesh if that makes that was pretty poorly explained I hope that makes sense But uh that’s pretty much it one thing to note here is the collection info is the same so in the final product these would be different so like this would be the stone and then this would be the grass you can see here that just creates a nice layer if we Unplug this it’s just on top just like the grass would be we only want the grass blocks on top of them but um yeah for this demonstration I think this does the trick just fine so yeah that’s really all there is to it for the most part Um the final version obviously has more nodes but it’s essentially just these same principles being applied over and over again to the different layers yeah I just recommend downloading that file if you haven’t already it’s a free download with the link in the description just download that open it Up and play with it just plug stuff in random places move the sliders change the values just see what happens and really mess with it and make it your own if you have any questions definitely leave a comment below I will do my best to answer the the questions you have and Make sure to subscribe I have a lot more ideas for videos and a lot more stuff coming out soon so make sure you subscribe for that thank you so so much for watching super appreciate it and uh yeah look forward to seeing you in the next one Video Information
This video, titled ‘How The Blender Minecraft World Generator Works’, was uploaded by Malc on 2022-11-27 08:15:04. It has garnered 6235 views and 376 likes. The duration of the video is 00:13:37 or 817 seconds.
How to use Blender’s geometry node systems to create a procedurally generated mini Minecraft World!
Download the project for free here: https://www.malcolmmdonaldson.com/blender-shop/minecraft-world-generator
My Skillshare: https://www.skillshare.com/en/classes/Blender-3D-Create-a-Procedural-Minecraft-World-From-Scratch/4445639
Thanks for watching! Feel free to leave questions in the comments below and I’ll do my best to answer them.