Previous tutorial covered how to create a simple decal material entirely in UE4. Now, learn how to insert and use decals inside your level.
This tutorial covers:
- Inserting Decals
- Rotating, Scaling and Moving Decals
- Replacing Decals
- Adjusting Decal Projection Boundary Box
- Enable/Disable "Receive Decals" Property
- Decal Sort Order
How to Insert Decals
There two main techniques of inserting a decal material into a level.
Select decal material inside the Content Browser, then Left-Click and Drag from Content Browser into perspective viewport:
This is probably most often used option.
Placed decal inside the level:
Go to "Place Mode" tab (Shift+1) and switch to Visual Effects:
Left-Click and Drag "Deferred Decal Actor" into perspective viewport. This will place an empty decal actor without material applied to it:
In Content Browser, select the decal material you want to use:
Make sure the empty decal actor is selected inside the level:
In Details tab under "Decal: Decal Material", Left-Click on the arrow to "Use Selected Asset from Content Browser":
Rotating, Resizing and Projecting Decals
Once you've inserted a decal material into the level, it will automatically begin to project onto surrounding geometry.
Select decal actor and press Spacebar to cycle between move, rotate and scale tools. Choose the correct transform gizmo to move, rotate or scale inserted decal inside the level:
After rotating, scaling and moving the decal to project on the wall correctly:
By scaling along X-axis (red gizmo) you can adjust decal projection distance:
Performance will decrease depending on decal screen space size. So keep the size and projection distance small to only effect nearby surrounding geometry.
Receive Decals Property
You can control which Static Meshes receive decals and which do not. For example, you may only want a decal to be projected on the wall and not the column:
Select a Static Mesh and in Details Panel enable "Show All Advanced Details":
Scroll down to Rendering and Disable "Receives Decals":
Selected Static Mesh will not receive projected decals.
Decals projected onto BSP brushes cannot be turned off.
You can replace already placed decal inside the level. Go to Content Browser and select new decal you want to use instead:
Select decal actor in the level you want to replace:
In Details tab under Decal > Decal Material: click on the arrow icon to "Use Selected Asset from Content Browser":
This will replace already placed decal with selected decal in Content Browser.
Decal Sort Order
You can have multiple decals projected on top of one another.
Let's say you have a poster decal on the wall and you want to apply a blood splatter decal on top of that poster. To do this correctly, you need to define Sort Order for each decal.
Select the decal and in Details tab under "Decals: Sort Order" define a numeric value:
Higher values render on top.
Poster decal will receive 0, blood decal will receive 1:
Although, it is important to limit decal sort order projection to just a couple of decals to keep it optimized. Avoid having too many decals rendered on top of each other.
Decals Are Not Showing
If decal materials are not showing up in the level, make sure Show Decals is enabled.
In perspective viewport go to Show > Decals:
But decals may still not show up. By default all decals use G-Buffer property and will not render (show) in static, baked lighting. To make this work you need to enable D-Buffer option and change your material decal settings. This is a common problem and it is easy to fix.
Recommended Next Tutorial: UE4: Solution to Decals Not Rendering/Showing in Indirect Static Lighting
How to Create Custom Decals Series
Want to learn more about creating custom decals for UE4? Such as how to create dirt, stains, blood, and stenciled numbers decals?