↑ Return to Decal System Pro

Decal System Pro Features

Compared to the Decal System, the Pro version has some unique features. On this page you find a description of those features with additional information how they can be practically relevant.

Vertex Colors

The vertex colors allow you to give each projector another color. This gives you the possibility to have a lot of variations with fewer materials or smaller textures. Lets assume you have placed some decal projectors which use different uv rectangles. If you find out that you need a different color touch for some projectors, it is necessary to extend or modify the texture atlas, which is quite time consuming. With vertex colors, it becomes a no brainer. You can do the same with the transparency per projector.
If your environment uses vertex colors you can use them to shade your projector such that you get a smoother look for your decals. You even get the possibility to mix the underlying vertex colors with the vertex color you have set for your projector.
At runtime you can use all that and you get an optimization in the case that you only update the vertex colors. In the case that you don’t add or remove projectors, you can e.g. fade in/out or change the color with a minimal performance impact. Internally there is some caching going on to minimize or if possible to eliminate memory allocations at runtime. The performance hit was barely measurable in the test scene which comes with the Pro version. We haven’t tested the performance on mobiles yet.
A huge advantage is that vertex colors don’t add additional draw calls.

Texture Atlas Assets

Easily exchange of texture atlas between decals instances using texture atlas assets. If you every wanted to change the texture atlas for several existing decals, you will understand how useful this can be.

Affect Details

If you have a heap of rocks with some plants and you want to add moss but only to the rocks, this can be quite tedious. Without the Decal System Pro, you need to place the plants a special layer that is not affected by the moss projector. This can easily lead to a mess with the layers, because they can be used for many different things. With the details, you can simply specify which meshes – in this example the plants – should not be affected. You could alternatively specify that only the rocks should be affected which would produce the same result.

Terrain Density

If you place a big projector on a terrain it will produce a huge amount of vertices. With the terrain density feature you can lower this count with the tradeoff that it doesn’t match the terrain perfectly anymore.

Decals Mesh Minimizer (Beta)

Meshes produced by the Decal System often contain unneeded vertices. In order to remove them, the decals mesh minimizer was implemented. As of now, it is possible to remove redundant vertices with a certain tolerance as long as the surrounding triangles are connected to the vertex or if the vertex is between two parallel, connected edges.
That means the optimization does not work for nearby meshes, even if the vertices are placed at the exact same positions with the exact same properties, such as normals, tangents and uvs.
Contrary to the terrain density, the minimizer produces meshes that have an identical shape compared to the original one. Vertices are only removed if they are redundant.

Further Runtime Improvements

If you have a short sprite animation you would like to show, like a paint ball splash, it is very computationally expensive without the Decal System Pro, because the whole projector needs to be recalculated for each image update. In the Pro version only the uv/2 can be recalculated and updated in an optimized way with internal caching to minimize or if possible to eliminate memory allocations. This is technically comparable to the runtime update of vertex colors. You can even mix them! If a player shoots a paint ball somewhere, you can playback the uv animation on impact to visualize how the color slowly flows and during that you could already fade it out using vertex colors.
With texture atlas assets, uv rectangles for such animations can be initialized automatically as long as the individual images are correctly distributed in your texture atlas.