Billboard
Overview
This is the most used particle renderer. It displays the particles as textured sprites.
It has various options to control how the particles are displayed, rotated, scaled, which texture is mapped on them, etc…
This renderer is supported in all of our public engine integrations.
Billboards are displayed onscreen based on an input position, size, color and additional per particle or static properties.

Geometry generation
Billboard renderers support various billboarding modes (alignments):

Screen aligned
4 vertices / 2 triangles per particle
A screen-aligned billboard has its plane parallel to the screen plane.
Looking around and rotating the view camera changes the billboard orientation, while only changing the camera position doesn’t.
|
|
Viewpos aligned
4 vertices / 2 triangles per particle
A viewpos-aligned quad has its plane normal pointing towards the camera position.
Unlike screen-aligned quads, looking around does not change the billboard geometry.
|
|
Axis aligned
4 vertices / 2 triangles per particle
This billboard mode stretches the billboard geometry along the user-provided axis.
The billboard rotates around the specified axis to try facing the camera
|
|
Axis aligned spheroid
4 vertices / 2 triangles per particle
Unlike the AxisAligned billboarding mode, this one doesn’t suffer from the grazing-angle problem, where the particle appears to vanish when the billboarding axis becomes near-perpendicular with the screen plane.
Instead, this billboarder emulates a spheroid, and binds the screenspace projection of the spheroid with a quad. This fixes the artifacts of the AxisAligned mode
|
|
Geometry inputs
Property |
Type |
Description |
|
|
Specifies how the billboard geometry should be build & aligned.
|
|
|
When enabled, the billboard size is specified as a |
|
|
Billboard center in world coordinates |
|
|
Radius of the billboard in world units |
|
|
2D side/up radius of the billboard in world units. |
|
|
Billboard rotation angle in degrees |
|
|
Principal axis of the billboard when |
|
|
Normal of the billboard when |
Editor Materials:
-
Billboard_Transparent/Legacy_Default_Billboard: Regular transparent billboard (additive, alpha-blended, or premultiplied-alpha)
-
Billboard_Opaque/Legacy_Opaque_Billboard: Opaque billboard, depth tested. Alpha-testing can be used for cutouts
-
Billboard_Distortion/Legacy_Distortion_Billboard: Billboard drawing in the distortion pass, useful for heat-shimmering effects
-
Billboard_AnimatedMasked: Extented transparent billboard with animated textures
Render-features
Lit
Lights the particle with the scene lights.
Property |
Type |
Description |
|
|
Can cast shadows |
|
|
Material roughness (PBR). A roughness of |
|
|
Material metalness (PBR). A metalness of |
|
|
|
Input pins |
||
|
|
Texture map representing tangent-space normals to be used for lighting. |
|
|
Roughness ® and Metalness (G) packed in an RGBA texture |
|
|
|
LegacyLit
Lights the particle with the scene lights. (legacy shader)
Property |
Type |
Description |
|
|
Used to fake sub-surface scattering on the particles. |
|
|
Exponentiation of the lighting term |
|
|
RGB Multiplier applied to the incoming light |
|
|
Additional uniform light |
|
|
Can cast shadows (not implemented in editor) |
Input pins |
||
|
|
Texture map representing tangent-space normals to be used for lighting. |
|
|
Source map used in specular lighting computation |
NormalBend
Bends the vertex normals of the billboard to mimic a spherical surface when lighting is enabled.
Property |
Type |
Description |
|
|
Bending factor to apply to the billboard normals. |
NormalWrap
Remaps the N dot L value in the lighting equation to move back the unlit area of the billboard, and mimic subsurface scattering / partial backlighting.
Property |
Type |
Description |
|
|
Used to fake sub-surface scattering on the particles. |
SoftParticles
Particles fade away when becoming too close to solid scene geometry, preventing a hard clipping effect where they intersect the scene.
Property |
Type |
Description |
|
|
Fade distance of particles in world units |
AlphaRemap
Allows remapping the alpha using a 2D grayscale texture looked up with the particle alpha along its U coordinate, and a custom per-particle Cursor along its V coordinate.
Property |
Type |
Description |
Input pins |
||
|
|
Texture map used as the alpha remap lookup. |
|
|
|
TransformUVs
Exposes more control on the UV coordinates of the billboard corners.
Property |
Type |
Description |
|
|
When enabled, does not transform the UVs used to sample the alpha channel. |
Input pins |
||
|
|
UV offset |
|
|
UV rotation angle |
|
|
UV scale |
Atlas
Allows to use a sprite-sheet as the diffuse texture, and control which subset of the texture is used using a per-particle TextureID input.
Property |
Type |
Description |
|
|
|
|
|
Subdivision count |
|
|
Frame blending type
|
|
|
Multiplier over the uv distortion |
Input pins |
||
|
|
Atlas definition (.pkat) |
|
|
Motion vectors texture, used to blend between frames when |
|
|
Index of the sub-rect to use inside the atlas |
Diffuse
Draws the particle as a regular diffuse surface in addition to distortion.
Property |
Type |
Description |
Input pins |
||
|
|
Texture map used for the diffuse lighting component |
|
|
Diffuse color, multiplied with the diffuse map color. |
DiffuseRamp
Uses the red channel of the diffuse texture (can be grayscale) to lookup a 1D color ramp to get the final RGB diffuse color.
Property |
Type |
Description |
Input pins |
||
|
|
1D texture map used tor for diffuse color remap. |
Emissive
Exposes an emissive map to use as a purely emissive color in addition to the regular diffuse component.
Property |
Type |
Description |
Input pins |
||
|
|
Texture map used for the emissive lighting component. |
|
|
Emissive color, multiplied with the emissive texture |
EmissiveRamp
Uses the red channel of the emissive texture (can be grayscale) to lookup a 1D color ramp to get the final RGB emissive color.
Property |
Type |
Description |
Input pins |
||
|
|
1D texture map used tor for emissive color remap. |
Tint
Applies a multiplicative RGB tint on the framebuffer. Useful to simulate stained glass.
Property |
Type |
Description |
Input pins |
||
|
|
Texture map used for the tint. |
|
|
Tint color, multiplied with the tint texture. The resulting color will be multiplied with the backbuffer values. |












