Getting Started with Terrain Tools in Unity Part 3: Details, Wind and Water
Welcome to the final installment this series on using Unity’s amazing Terrain tools. There are a few awesome features that aren’t supported in the HDRP, so I wanted to make sure to cover those here using the URP.
I made a new URP project and then put together a new scene based on what was learned in the past two articles. The atmosphere on this alien planet is unknown, so our player capsule is taking precautions with this space helmet.
Let’s use the flower brush to Paint Details into the game scene.
Press the Edit Details button, and then select the Add Grass Texture option.
Click the disk icon in the Detail Texture option to bring up a list of available textures. I grabbed some free grass textures from the Unity asset store. Before painting grass into your scene, there are some handy options for making variations in the grass, such as the noise spread and height / width options. Adjusting the healthy and dry colors for your grass can really make it look more realistic.
The Details area will show icons for the various grass textures as you add them to the palette.
Just like with sculpting the landscape and applying materials, you can use the different brushes to paint details into the game scene.
Just left-click and quickly drag a hillside of flowers into the game scene! These detail textures work like billboards. What that means is they are 2D texture objects that always face the camera. They aren’t actually 3D objects, which makes having a lot of them much easier on the processor than using actual 3D objects.
Let’s add in some more detail textures for variation. Variety is really what makes for a more natural looking scene.
Just like that, flowers have blossomed all over the hillside.
You can see that these textures are not flat on the ground plane, but rather standing upright in front of the player.
You can also use 3D prefabs to paint details in the same way as the 2D textures. Press the Edit Details button and then select the Add Detail Mesh option.
I downloaded some free grass assets from the Unity store as well.
Adding a few 3D grass assets really brings the lawn together. Just keep in mind that these are more expensive on processing, so try to keep them only to important areas for the player.
Now we really have some variation in the foliage growing wildly on this hillside.
Wind is automatically enabled for the grass details, just press the play button to see it in action. To adjust the wind settings, head to the gear icon in your terrain tools and scroll down to find the wind adjustments.
If your trees are setup to take wind (mine are not), you can add a WindZone to your scene in the Hierarchy under 3D Object>WindZone.
It shows up just like this in the hierarchy.
You should see an arrow icon showing you which direction the wind is blowing, as well as a fan icon to let you know this is the WindZone object.
Speaking of the gear icon…
For the grass movement, look for Wind Settings for Grass.
I want to add a small pond in the game scene, so I use the raise and lower terrain option to sculpt down into the earth.
The basic Unity asset pack comes with some handy water prefabs. I drag the Water Basic Daytime prefab into the hierarchy and place it in my scene.
The water prefab is a plane that can be scaled horizontally to fit your desired water space. Press the play button to watch it move!
You never can be too careful when wandering about these wild unknown planets.
There is some nice moving water and grass.
I think this might be my new home.
A few post processing effects can really gel the scene together.
Thanks for reading and have fun making beautiful environments with Unity Terrain!