Mesh

Overview

mesh renderer node
mesh renderer node

This renderer draws the particles as meshes
This renderer is supported in all of our public engine integrations.

Meshes are displayed onscreen based on an input position, scale, color and additional per particle or static properties (see mesh renderer node reference).
Note: PopcornFX v2.2 introduces mesh atlases, an efficient method to render keyframe-based animated meshes, or to randomly pick different meshes per-particle (ex: debris).
Meshes can be oriented using orientation helpers templates.

mesh renderer

Geometry inputs

Property

Type

Description

DoubleSided

bool

If disabled, enables back face culling.

MeshAtlas

bool

Enables the Mesh Atlas rendering feature:
Allows to use an ID to choose which sub-mesh of the specified mesh asset should be displayed.

UseVertexColors

bool

When enabled, the mesh vertex colors will be multiplied with the diffuse component.

MeshLOD

bool

Enables the Mesh LOD rendering feature:
If the mesh has builtin LODs, allows to control per-particle which LOD level gets drawn.

Position

float3

Mesh position in world coordinates

Scale

float3

Mesh scale

Orientation

orientation

Mesh orientation

Mesh

String

Mesh resource

+ all common renderer properties

Render-features

Lit

Lights the particle with the scene lights.

Property

Type

Description

CastShadows

bool

Can cast shadows

Roughness

float

Material roughness (PBR). A roughness of 0.0 represents a mirror, a roughness of 1.0 represents a purely diffuse surface.

Metalness

float

Material metalness (PBR). A metalness of 0.0 represents a pure nonmetal, a metalness of 1.0 represents a pure metal.
Affects the color of the reflections.

Type

enum

  • Solid

  • Transparent

Input pins

NormalMap

String

Texture map representing tangent-space normals to be used for lighting.

RoughMetalMap

String

Roughness ® and Metalness (G) packed in an RGBA texture

LitMaskMap

String

LegacyLit

Lights the particle with the scene lights. (legacy shader)

Property

Type

Description

NormalWrapFactor

float

Used to fake sub-surface scattering on the particles.
Remaps the N dot L of the lighting equation from [-1,1] to [-1+factor,1]

LightExponent

float

Exponentiation of the lighting term

LightScale

float3

RGB Multiplier applied to the incoming light

AmbientLight

float3

Additional uniform light

CastShadows

bool

Can cast shadows (not implemented in editor)

Input pins

NormalMap

String

Texture map representing tangent-space normals to be used for lighting.

SpecularMap

String

Source map used in specular lighting computation

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

SoftnessDistance

float

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

AlphaMap

String

Texture map used as the alpha remap lookup.
The X lookup coordinate is the diffuse texture alpha.
The Y lookup coordinate is the Cursor value.

Cursor

float

Y coordinate used to sample the AlphaMap texture.

TransformUVs

Exposes more control on the UV coordinates of the mesh corners.

Property

Type

Description

RGBOnly

bool

When enabled, does not transform the UVs used to sample the alpha channel.

Input pins

UVOffset

float2

UV offset

UVRotate

float2

UV rotation angle

UVScale

float2

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

Source

enum

  • External: Atlas tiles are defined in an external .pkat atlas file. Their topology can be arbitrary.

  • Procedural: The number of tiles along the U and V axes are specified by the SubDiv property.

SubDiv

int2

Subdivision count

Blending

enum

Frame blending type

  • None: No interpolation between frames

  • Linear: Linear blending

  • MotionVectors: Use the MotionVectorsMap texture as the interpolation vectors to blend between frames

DistortionStrength

float

Multiplier over the uv distortion
Distortion strength to apply for Houdini exported maps is: -(1.0 / FPS / ColRow).

Input pins

Definition

String

Atlas definition (.pkat)

MotionVectorsMap

String

Motion vectors texture, used to blend between frames when Blending is set to MotionVectors

TextureID

float

Index of the sub-rect to use inside the atlas

MeshAtlas

Allows to use an ID to choose which sub-mesh of the specified mesh asset should be displayed.

Property

Type

Description

Input pins

MeshID

float

Index of the sub-mesh to draw when the mesh resource contains multiple sub-meshes.

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

RampMap

String

1D texture map used tor for diffuse color remap.
Sampled with the Red channel of the DiffuseMap texture.

Emissive

Exposes an emissive map to use as a purely emissive color in addition to the regular diffuse component.

Property

Type

Description

Input pins

EmissiveMap

String

Texture map used for the emissive lighting component.

EmissiveColor

float3

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

EmissiveRamp

String

1D texture map used tor for emissive color remap.
Sampled with the Red channel of the EmissiveMap` texture.`

MeshLOD

If the mesh has builtin LODs, allows to control per-particle which LOD level gets drawn.

Property

Type

Description

Input pins

LOD

int

Index of the level of detail to render.