Table of Contents

Total Brush (lite)

This tool is a GPU-based painting tool that allows you to paint vertex colors and texture masks.

The version shipped with the Weatherade system is fine-tuned to work with Weatherade shaders.

This tool utilizes the power of compute shaders, allowing it to paint even on high-poly meshes with decent performance.

You can enable a scene view overlay for the quick access to the Total Brush window by pressing the 'Space' key (Unity 2022.3) or '~' key (Unity 2023+) and selecting the TotalBrush-overlay in the popup.
This guide will only cover Weatherade-specific use of this tool.

Total Brush has two main modes:

Mesh Vertices

In this mode you can paint the colors of the mesh vertices, which are used as a mask to erase or add the coverage on the surfaces.

Terrain Extra Mask

In this mode, you can paint an additional texture mask, which will be automatically created and set to the selected terrain's material the first time you paint.

Works only with the Weatherade terrain shaders.

1. Select Scene Object

First of all, select an object in the scene which you want to paint on.

In Mesh Vertices mode you can select several objects at once and paint on them all.
If you selected an object parent without the MeshRenderer on it, you can enable the Include Children checkbox in the Mesh Vertices mode. The tool will try get the MeshRenderers on all the children.

2. Choose a Paint Tool

Total Brush offers two different paint tools:

In most cases you will need the Brush tool.

3. Change Brush Properties

3.1 Brush Size

The brush size in units.

Hotkey: LeftShift + Scroll Mouse Up/Down

3.2 Brush Opacity

The opacity of the brush.

Hotkey: LeftCtrl + LeftAlt + Scroll Mouse Up/Down

3.3 Target Value

This range defines the minumum and maximum values, that painted colors may have.
Weatherade uses the value of 0.5 as a default, meaning painting this value will not take any visual difference with the non-painted mesh. This made for the purpose to be able to add and erase the procedural coverage.

Internally, Weatherade shader rounds this value to determinate what to do with the procedural coverage mask - erase or add: if the value is >= 0.5, it will be rounded to 1, which means, that we add to the mask, otherwise - erase.
Next it remaps this value in the following way depending on the previous step to get the full 0-1 range of the painted mask:

And finally it lerps these values using the selected mode (erase/add) to get the final painted mask.

For example: if you painted the mesh vertices with 0.75, Weatherade shader will add 0.5 to the procedural coverage mask, but if you paint with 0.25, the 0.5 will be substracted from the procedural mask.

Hotkeys:
  • LeftCtrl + Scroll Mouse Up/Down for min value
  • LeftAlt + Scroll Mouse Up/Down for max value

3.4 Brush Color

The RGBA color of the brush.

This color is multiplied by the Brush Opacity value. So if you set white color, but used 0.5 opacity, you will get a middle gray at the end.

4. Configure Channel Mask

The Channel Mask allows you to choose which color channels will be affected while painting.

In Built-in RP the Weatherade snow shaders currently only utilizes the ⠀R⠀ channel, while URP version can uses all four channels. But the rain shaders utilizes all four channels in both BiRP and URP.

You can toggle the Solo Mode by enabling the checkbox to the right of the Channel Mask label. This mode allow you to paint only one channel at a time just like in the Unity terrain texture painting tool.

In the Solo Mode the channels are named as 'Overall', 'Layer0', 'Layer1', 'Layer2' which corresponds to ⠀R⠀⠀G⠀⠀B⠀⠀A⠀. You can select only one layer at a time in this mode. If 'Overall' is selected, Total Brush will paint into the ⠀R⠀ just like it did in the regular channels mode. But if any of the layers is selected, Total Brush will paint only that layer while erasing the other 2 layers respectively.

This mode is useful to paint 3 different snow layers in URP shaders, because in regular mode it will wrong, and the layers will always be visible under each other.
If you want to edit the entire rain mask, simply enable all channels while painting.

5. Fill Out

If you are starting to paint on a mesh or terrain for the first time, it is recommended to fill its colors with the default value of 0.5 to override the existing vertex colors (for mesh renderes) or set the default gray color in the texture mask (for terrains).
Use the bucket tool button to fill with the selected color and multiplier.

By default the color is white and the multiplier is set to 0.5 specifically for Weatherader shaders.

6. Start Paint

Press the Start Paint button to enter the painting mode.

Paintable Object

When you first time paint any object, Total Brush adds the Paintable Object component, which stores paint data and manages the Additional Vertex Streams, that are used to pass paint data to the MeshRenderer component.