Making a Simple Terrain in Godot

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

Thank you! This is incredibly helpful, it would have taken me ages to figure all this out just by myself.

👍︎︎ 2 👤︎︎ u/golddotasksquestions 📅︎︎ Jan 17 2021 🗫︎ replies
Captions
in this video i'll show you how to use godot 3.2.3 and silence heightmap terrain 1.5.2 to make this terrain using the classic fall texture shader we'll start with making a new project in godot and installing the heightmap terrain add-on from the asset library once the files are in your project enable the add-on from the project settings let's create a new 3d scene and save it by default kudos 3d lighting is a bit heavy on ambient blue light and in linear color space to remedy this we'll add a directional light and make it a slightly warmer color and orient it the same as the skybox by rotating it minus 135 degrees on the x-axis we'll also add a world environment add a new procedure sky as the background and set the tone mapping to filmic or asus time to add our terrain node but as you'll see nothing appears in the 3d view the terrain uses a lot of data so it keeps the data in a separate folder we'll set the terrain to a new folder named t data and the terrain will appear we can see the entire terrain it's being cut off this is because the default terrain size is 512 units by 512 but the editor camera is set to cut off after 500 units we'll fix this in the view settings menu now let's have a look at the terrain ui we have the terrain menu to do operations on the whole terrain there is a list of brush modes for sculpting and painting the terrain there is a brush editor for editing the current brush there is a texture selector which we'll be using shortly then there is a detail layer selector for adding details such as grass which we'll also be using later and then we have the main inspector where you can change settings for the terrain such as which shader it uses we'll set the shader to classic 4 which uses a splat map to mix up to 4 different texture layers now let's import some textures to use to import the textures we need to add a copy of them into the project i'm using these four sets of free textures from c0textures.com see the video description for links now we can use the import function in the texture selector and add in the four textures set the resolution you want the textures to be imported in and set a folder as you can see the plugin automatically picks the remaining files for us when we pick the albedo texture as it recognizes the naming scheme used by cc0 textures godot uses opengl normal maps whereas the textures from cc0textures.com are in directx format to correct for this we check the flip y option on each texture it's a good idea to place the textures used for the steepest surface in the fourth layer as that layer can use triplane or texture mapping if it's needed though i don't end up enabling it in this example once the textures are imported we can remove the original files from the project the terrain will automatically get textured with the first texture and we can see that the texture looks a bit repetitive across the surface to correct for this we enable tile reduction for the four layers by setting each value to one now rather than sculpting the terrain from scratch we'll use the generate terrain function to create our base terrain now we can add additional details with the raised brush the thing brush alpha is great for adding details that look like mountain ridges we can cut into the ridges using the erosion brush and we can add some additional noise to the heels by dabbing with the vegetation brush alpha with a large brush size then we can smooth out a few peaks that got a bit intense with the smooth brush when we're happy with the shape it's time for texturing starting out with the mountain texture and setting the slope limit of the brush to only allow steep angles then we can go over to the second rock texture and with low opacity and the vegetation brush alpha we can dab the second texture on some of the lower hills and the base of the mountains to mix it in with the mountain texture we can use the small rocks texture set to relatively flat slopes on and around the mountain to imitate rock debris finally we can add a bit more of the mountain texture on high peaks to add a bit of variance we can paint a bit of vertex color on the terrain this needs to be kept rather subtle so do it using a large brush with low opacity now let's add some grass to the terrain first we'll need a texture i made this one myself from textures on cc0 textures there is a link to it in the video description add a new detail layer to the terrain and set the texture to make it easier to see what we are doing we'll increase the view distance and scale of the detail then simply paint the detail on the grassy parts of the map we could also export the splat map out from godot and use the channel representing the grass to make a mask to import in for the details density texture to automate this somewhat now the grass doesn't really merge that well with the terrain we can improve this by using the big global map function and setting the global mapped tint on the grass one last thing we'll add to the detail shader is random scaling to each instance select the custom shader option and press new this will give you a copy of the shader to edit the detail shader already generates random values for random rotation we'll just add a second random value and add that into the scale finally adding a bit of fog and ambient occlusion through the environment node adds a bit more depth to the scene thanks for watching consider supporting me on patreon if you want more tutorials like this one thanks to my patrons little mouse games winston johannesbunch space case 0 dmitry keen and marcus richter
Info
Channel: Kasper Frandsen
Views: 17,390
Rating: 5 out of 5
Keywords: godot, terrain, tutorial
Id: Af1f2JPvSIs
Channel Id: undefined
Length: 10min 8sec (608 seconds)
Published: Sat Jan 16 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.