Brush Entity Decals
by quanta (view all articles)

unrated
A short tutorial on how to add decals to brush entities.
by quanta (view all articles)

unrated

NOTE: This tutorial is meant for placing decals on brush entities, like a sign on a moving elevator, NOT for turning Source materials into decals.
Decals are one of the most important kind of details for mapping, and entities such as infodecals and info_overlays are used for placing decals on walls. But what if a decal is wanted on a brush entity, such as an elevator? A bit more is needed, and this tutorial's goal is to show you how to do so.
First, a little info on DirectX:
When two textured (or colored) surfaces lie on top of one another, an effect called z-fighting can be observed:
However, in order to get decals to work properly,
they are placed slightly in front of the wall they rest on:
Back to the tutorial, getting a decal on any brush entity is quite easy, but it requires the entity you wish to put the decal on to have a name.
First create a small box with the nodraw texture. Tie this to a func_brush, and set the properties to the following (everything else is fine):
Parent: <entity name>
Solidity: Never solid
Solid BSP: No
Now texture whichever side you want to a decal texture, resizing the entity as needed.
Finally, align the func_brush so the decal lies flush on one of the other entity's sides.
That's it! Compile the map and the decal will follow the entity you assigned to the decal's parent.
Decals are one of the most important kind of details for mapping, and entities such as infodecals and info_overlays are used for placing decals on walls. But what if a decal is wanted on a brush entity, such as an elevator? A bit more is needed, and this tutorial's goal is to show you how to do so.
First, a little info on DirectX:
When two textured (or colored) surfaces lie on top of one another, an effect called z-fighting can be observed:

However, in order to get decals to work properly,

they are placed slightly in front of the wall they rest on:

Back to the tutorial, getting a decal on any brush entity is quite easy, but it requires the entity you wish to put the decal on to have a name.
First create a small box with the nodraw texture. Tie this to a func_brush, and set the properties to the following (everything else is fine):
Parent: <entity name>
Solidity: Never solid
Solid BSP: No
Now texture whichever side you want to a decal texture, resizing the entity as needed.
Finally, align the func_brush so the decal lies flush on one of the other entity's sides.
That's it! Compile the map and the decal will follow the entity you assigned to the decal's parent.