After receiving your feedback, we are excited to share some new improvements to Terrain Material painting. Our 2019.2 Terrain Tools package lets you paint complex Terrain with less effort and includes UI changes to help speed up your workflow.

This package update enhances the experience of painting Materials on Terrain. In this update, you’ll find new Brush Mask Filters, a revised Paint Texture tool, and improvements to the Terrain Toolbox workflow.

Brush Mask Filters

You might already be familiar with Brush Masks, which are Terrain Brushes that use a single-channel Texture to define the shape and strength of the Terrain area you’re working on. To adjust the grayscale mask output, you can change other Brush features such as Radius Scale, Falloff, and Remap.

Brush Mask Filters are an exciting new addition to Terrain Brushes. These filters add additional operations to the Brush before computing the final Brush Mask output.

For example, if you use the Add filter with an input value of 5, the elevation of the sculpting area increases. This is because we’ve added 5 to each pixel of the Brush Mask.

There are two categories of Brush Mask Filters. The first category contains math operation filters, which are commonly seen in node-based editing tools for manipulating Textures. The second category comprises of Terrain-based operations.

A Terrain-based filter might contain a series of operations that help to isolate certain Terrain features. For instance, the Height filter uses Minimum and Maximum height values to isolate a certain height range of the Terrain. The Concavity filter helps identify exposed crevices of a Terrain, and even includes an option for detecting recessed faces. There are 15 filters available in this package release.

Math operations

Abs

Add

Clamp

Complement

Max

Min

Multiply

Negate

Noise

Power

Remap

Terrain-based

Aspect

Concavity

Height

Slope

You can easily add or combine multiple filters in the Brush Mask Filters stack to achieve different results. This new feature is available to all Terrain Brushes!

Unity performs the operations in order, from top to bottom. By using different combinations of Brush Mask Filters, you can achieve some really interesting and nice results, such as the Terrain Textures that appear later on in this blog post.

Combining Brush Mask Filters

You can combine multiple Brush Mask Filters to create complex Brushes that fit your needs.

Here are the steps to follow, as demonstrated in the video.

Scree: Add a Height filter to mask out the river bed and other flat areas that will be covered with water. Sand: Adjust the Height filter to mask the river banks, and add a Slope filter to smoothen out the transitions between slope changes. Then, disable the filter to touch up areas with harsh Texture transitions. You can disable filters to quickly alter the filter stack without losing data. Grass: Adjust the Height filter to mask out all areas below the riverbank, and adjust the curve to smoothen slope transitions. Rock: Remove the Height filter, and adjust the slope curve to mask off flat areas. Use the Slope filter to target areas with steep slopes, and lightly blend them into the flatter grass areas. Moss: Add the Complement filter, and set an input value of 1 to invert the results of the stack. Instead of targeting steep slopes, the Complement filter lets you target flat areas and shallow slopes. Then, add the Noise filter to randomize the results, and the Power filter to sharpen the areas you’re painting on. Moss has a tendency to grow in areas with high moisture, and unlike grass, it can live on steeply-sloped surfaces as well as areas with higher elevation. Snow: Remove all the filters to empty the filter stack. Add a Height filter to mask off the peak of the mountain. Add an Aspect filter to mask off faces of the mountain relative to the desired direction. Use the Aspect filter to replicate snow that has been blown by a gust of wind. Add a Concavity filter to target the valleys of the summit, and replicate the accumulation areas of snow within a cirque.

Improved Paint Texture tool

The improved Paint Texture tool now includes a brand new Terrain Layer Eyedropper tool as well as reorderable Material Layers.

Eyedropper tool

Hold Shift + A to enable the Terrain Layer Eyedropper tool, and then click on an area of the Terrain to pick a Material directly from it. The tool works similarly to the Eyedropper tool in photo editing software. This greatly speeds up the process of selecting Materials while painting.

Reorderable Material Layers

The Material you choose appears in the updated Material Layer UI, which now features a list that you can reorder. Reorder Material Layers in the UI to change its corresponding splat map channel. Splat maps are Material Distribution Mask Textures that Unity uses on Terrain. To simultaneously delete multiple Terrain Layers, simply enable the checkbox next to each layer, and then hit the Remove Layer button.

Terrain Toolbox updates

The Terrain Toolbox workflow has been improved in multiple ways. You’ll notice a difference when importing both Material Layers and Splat Maps. Instead of having to manually select a Texture from the Asset folder, you can now import Textures directly from a Terrain.

When you use external content creation software like World Machine, exported splat maps might sometimes be oriented incorrectly. Now, when you import splat maps using the Terrain Toolbox, you can preview them and adjust their orientation as needed.

On the topic of visualization, the Terrain Toolbox also has a new section for visualization tools. Use the Heatmap Altitude tool to preview the elevation of a Terrain as you sculpt it. This is great for sculpting Terrain that needs to be relatively uniform with the rest of your world. It’s also useful for sculpting Terrain from a bird’s-eye view and planning out elevation-specific features like lakes.

All of these new features and updates are currently available in the latest Terrain Tools package, which you can download from the Package Manager in Unity 2019.2.0f1 or newer versions.

Our Terrain team is just getting started and will continue to work hard at developing new features. Please share your feedback with us in the World Building forum!