Create a Realistic Procedural Cyberpunk City in Blender | How I made CyberScape Pro

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
okay so in this video I'm going to show you some of the basic techniques for creating a procedural City like cyber scare Pro so let's add in a plane and make this a lot larger let's say this is 1500 meters big let's increase the clip end okay and let's go right into the geometry notes geometry notes new setup okay so first of all we are going to create the roads the technique I used was with subdivisions so let's add an a subdivision subdivide mesh node and if we go to the viewport shading preview mode we can see what this does and now we get these lines and basically these lines are going to be our routes because we don't want them to be equally subdivided we want to create a randomized effect we use a separate geometry node and change this to face and let's add in a random value node set it to Boolean and use this as the selection and what this does is Select random basis so what we want to do now is add in a drawing geometry node and on this one we are going to join the selection and everything that is not selected and join it back together so we get our plane back but what you can do now is also add a subdivide mesh on the inverted one and now we have these randomized and subdivided faces so the next thing we want to do is create these merging roads so let's add an a merge by distance node just basically just takes points on the grid and merges the vertices together first of all we want to apply the scale of the object now let's increase the merge distance and you can see what this does now we don't want to merge all of them and we can duplicate the random value node again and use it as a selection and select how many roads they are merging it's set to 150 200 distance and yeah that should be fine so the next thing we want to do is convert this to a to a curve so let's add in a mesh to curve node and now we can go into the Shaded viewport and we can see our lines so um to add some rounded roads and we can add in any fill that curve node set it to only and yeah if you increase the radius you can see what it does it bevel its edges and we can increase the body count and this gives us this these rounded edges now we can see that we have some overlaying vertices you can leave it like this if you want this kind of look for the roads or you can add in another merge by distance node and it removes these kind of doubled edges if you don't want them let's make this a plane let's make the road actually thicker so let's use a curve to mesh node and use a curved line as a profile put it in here and we want to set the set value to zero and increase the X1 value and also in the minus Direction some minus 20 for both sides so what you could also do is add and just add in a value node and set it to 20 and use it for both inputs here just with a vector math node and set on the x-axis to -1 and forward and here we want it to be just one so now we can control the thickness of the road with just the slider you can also make it a little bit thicker add an ax trude mesh node now we get some thickness on the roads and now the mesh is set to shade smooth which we don't want so let's set smooth node uncheck the shade smooth button and that should be fine and um yeah the way I created the buildings is just extruded the faces before they um were converted to a curve so we're going to take this output here and add in a extrude mesh and you know all of the faces are going to be pulled up um we want to First insert them so they are a little bit further away from the road so let's set the first extrude note to zero and add in a scale elements node and we're going to use the top mask input from the extrude mesh into the selection of the scale elements so what this basically does is insert the faces and now we can use these inserted faces to extrude the meshow duplicate the extrude mesh again and this time we're going to also take the top and put it into the selection of the last extrude node and here we go we got our buildings now we can use a random value node again to get some random mice height in the buildings and we can also use a separate geometry node again and it's the selection again so we only got the buildings and now we can merge these two back together with a drawing geometry node so match the road with the buildings and here we go so what you could also do is take the add in a subdivision subdivide mesh before the buildings and before the Extrusion here this will divide the blocks into more buildings you can either put it place it before there extrude mesh or you can place it after the scale elements so either if you want these buildings to be next to each other just with different Heights or no further apart from each other so um so we could go right into text ring but I also want a little bit of this inserted roof shape on the buildings tops so we are just going to use the same method we used for inserting the faces here so let's also use a extrude mesh again node again and we want the selection to be only the top faces faces that are on the roof so we're going to use a normal node and if we take a separate x y z node and put the normal into it and preview only the set we'll get this mask for only the top faces so we can use this as a selection and now we can just use the same technique like back here and scale the inserted insert the faces if we go to the wireframe mode we can see that we have this inserted shape here and now we can use a extrude mesh again and now we get just inserted roof shape okay let's let me show you how I textured the salt thing so um let's add in a set material node create a new material selected okay let's go to the Shader editor and rendered view let's set up a sky texture and turn on viewport denoising okay good so let's um I took these textures from textures.com you can get them for free [Music] and I just use these building photos these real photos just seem to work the best and instead of PBR materials because they're just real photos and they contain all of the correct detail and everything and let's apply this texture and I'm going to use object texture coordinates and a box project and now the textures texture is way too small and I'm going to change the scaling type to texture and just increase the number and now we can use this as a base color now we already get textures for the buildings but what I did to randomize this is add in a second building texture and also use the same texture coordinates for it and set it to box project and I just used a um geometry node and in the geometry node the random per Island output gives us this random face um there's a random color random value for every face so we can use a color ramp with a set to constant and this gives us a mask of all of the buildings random faces so what we can do is add in a mix color node mix these two textures together and just use the random per Island as a factor and now the buildings get this different textures randomly so the last thing I'm going to show you is how I created textures for the roofs so I used the geometry node again and also used a separate x x y z node and got this mask for only the top faces and now we can just duplicate our principled Shader and mix the two shaders and use the normal mask for the top faces as the factor and to this principle bsdf Shader we can just apply a concrete texture it's also set it to box project scale it up now obviously this these are just the basic techniques I use for cyberscape pro I added a bunch of stuff to it to the actual product and this is what the Shader for it looked like so you can see I mixed a bunch of different textures and also added some window lights and everything so subscribe to the channel and check out the links to cyberscape Pro if you need a photorealistic and procedurally generated customizable City for your own projects
Info
Channel: Cinematic Cookie
Views: 19,339
Rating: undefined out of 5
Keywords:
Id: LheRoTgym8g
Channel Id: undefined
Length: 13min 45sec (825 seconds)
Published: Tue Aug 08 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.