Feature Preview: Decals

In the latest Flax Alpha update version 0.1.6156 we’ve shipped another exciting feature: Decals rendering.
Decals are special objects placed in the world that use a material to project it onto the other objects surfaces (including models and animated models). For example, a blood stain texture and decal material can be used to draw it on top of the player body when it gets hit by the bullet. Another example is to render footsteps on a sand when your player walks on it.

To learn more about decals please visit the related documentation here.

How to create a decal?

In this short tutorial, you will learn how to create and use a decal. Follow the instructions to create a simple blood stain. If you need the required texture check out the official Flax Samples to get one.

1. Create material

The first step is to create a new material asset (see Materials Basics page to learn how to do it).

2. Set Domain to Decal

Next step is to open the material editor and change the material Domain to Decal as shown in the picture below.

Set Domain To Decal

3. Add decal texture

Now drag and drop the texture you want to draw as a decal. Then connect it with material color and opacity properties as shown in the picture below. Also, you can see the preview of the decal in the Material Preview panel.

Add Decal Texture

4. Save material

Press Ctrl+S or click the Save button to save the changes in the material asset.

5. Create Decal actor

Now add a new Decal actor to your scene. You can drag and drop it from the Toolbox Window (Visuals tab) or use a Scene Tree Window and the dedicated context menu.

Add Decal

6. Assign material

Select the created decal actor and assign the material to its property Material.

Set Decal Material

7. See the results

Ready Decal

Your decal is ready. You can use it in your game. Also, decals can be spawned at runtime via C# script and you can create a virtual dynamic material instance to modify the decal parameters, for instance: fade off the decal after a timeout.

Summary

Right now we’re moving quickly forward. Evey alpha release is bringing a lot of new features and more stability to the engine.
Also, we’re getting many cool suggestions and ideas. Thanks for your contribution.
And as always: see you soon (or right now on a Discord)!


Wojciech Figat

Lead Developer

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *