PopcornFX v2.18

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
  1. Home
  2. Docs
  3. PopcornFX v2.18
  4. Plugins
  5. Unreal Engine plugin
  6. Effects



A PopcornFXEffect is the UE asset (.uasset) that will contain the sources of the PopcornFX Effect (.pkfx) (see Effect production pipeline).

Importing an effect

Effects are imported like any other UE asset:

  • Click the Import button
  • Simply drag & drop the source pkfx file into your project’s content browser.

Once the effect is imported, you should now see the PopcornFXEffect asset in your content browser with its associated thumbnail (see Capturing thumbnails).

Effect editor

A dedicated preview editor is available for effects, simply double-click a PopcornFXEffect asset:

UE4 plugin: Effect editor

  1. Effect dependency list (Textures, Meshes, Atlases, Sounds, ..)
  2. Material list
  3. Effect attributes for preview

Effect dependencies

You will find here everything the effect needs for update (simulation) and rendering.

All dependencies can be overridden by a custom asset as long as the new asset resides inside the Pack Mount Point.

Effect materials

By default, the UE plugin chooses UE materials compatible with the various renderers the effect uses.

Materials are grouped (batched) by their compatibility (same draw call).

You can override the default mapped material with a custom one.

Default materials

We provide default materials for every renderers, but you can override them globally, per project.

  • Under Edit >> Project Settings >> PopcornFX Editor >> Default Materials

UE4 Plugin: Default materials

Material parameters

The plugin maps the following renderer parameters to the material if they are available:

Parameter nameParameter typeDescriptionRenderer type(s)
DiffuseTextureTexture 2DDiffuse mapBillboard / Ribbon / Triangle / Mesh
DiffuseTextureRampTexture 2DDiffuse Ramp map if DiffuseRamp is enabledBillboard / Ribbon / Triangle / Mesh
EmissiveTextureTexture 2DEmissive map if Emissive is enabledBillboard / Ribbon / Triangle / Mesh
NormalTextureTexture 2DNormal map if LegacyLit is enabledBillboard / Ribbon / Triangle / Mesh
SpecularTextureTexture 2DSpecular map if LegacyLit is enabledBillboard / Ribbon / Triangle / Mesh
AlphaRemapperTexture 2DAlpha-remap map if AlphaRemap is enabledBillboard / Ribbon / Triangle / Mesh
MotionVectorsTextureTexture 2DMotion Vectors map if Atlas blending mode is MotionVectorsBillboard / Ribbon / Triangle / Mesh
PopcornFX_SoftnessDistanceScalar (float)Softness distance if SoftParticles is enabledBillboard / Ribbon / Triangle / Mesh
PopcornFX_MaskThresholdScalar (float)Alpha-test value threshold if material is MaskedBillboard / Ribbon / Triangle / Mesh
PopcornFX_SphereMaskHardnessScalar (float)SphereMask node’s hardness value for volumetric fog materialsBillboard / Ribbon / Triangle / Mesh
PopcornFX_MVDistortionStrengthColumnsScalar (float)MotionVectors distortion strength (columns)Billboard / Ribbon / Triangle / Mesh
PopcornFX_MVDistortionStrengthRowsScalar (float)MotionVectors distortion strength (rows)Billboard / Ribbon / Triangle / Mesh
PopcornFX_SixWay_RLTSTextureTexture 2DRight-Left-Top-Alpha Texture if SixWayLightmap is enabledBillboard
PopcornFX_SixWay_BBFTextureTexture 2DBottom-Back-Front Texture if SixWayLightmap is enabledBillboard
VATPositionTextureTexture 2DPositions texture if one of the VAT types is enabledMesh
VATNormalTextureTexture 2DNormals texture if Fluid or Soft VAT is enabledMesh
VATColorTextureTexture 2DColors texture if Soft VAT is enabledMesh
VATRotationTextureTexture 2DRotations texture if Rigid VAT is enabledMesh
VATPackedDataScalar (bool)Whether or not to treat VAT data as packed if Fluid or Soft VAT is enabledMesh
VATNumFramesScalar (uint)Number of frames in the VAT if one of the VAT types is enabledMesh
VATPivotBoundsMinVector (float3)Pivots min value if Rigid VAT is enabledMesh
VATPivotBoundsMaxVector (float3)Pivots max value if Rigid VAT is enabledMesh
VATPositionBoundsMinVector (float3)Positions min value if Normalized Data is enabled for one of the VAT typesMesh
VATPositionBoundsMaxVector (float3)Positions max value if Normalized Data is enabled for one of the VAT typesMesh

Also, some UE material nodes map to built-in PopcornFX parameters:

Node nameDescriptionRenderer type(s)
Texcoord 0UVs already built with the atlas definition (if any).Billboard / Ribbon / Triangle
ParticleColorRenderer’s Diffuse Color input (previously was VertexColor)Billboard / Ribbon / Triangle / Mesh
VertexColorRenderer’s Emissive Color inputBillboard / Ribbon / Triangle
ParticleSubUVProperties.TextureCoordinate0Renderer’s Emissive Color input (xy channels)Mesh
ParticleSubUVProperties.TextureCoordinate1.XRenderer’s Emissive Color input (z channel)Mesh
Texcoord 1If Linear is set as the blending mode of Atlas, second set of texcoordsBillboard / Ribbon / Triangle
DynamicParameter0.XIf Linear is set as the blending mode of Atlas, TextureID for lerping between texture samplesBillboard / Ribbon / Triangle
DynamicParameter0.YIf AlphaRemap is enabled, AlphaCursor used to determine the alpha remapBillboard / Ribbon / Triangle
DynamicParameter0Renderer’s Input0 input if ShaderInput0 is enabledMesh
DynamicParameter1Renderer’s Input1 input if ShaderInput1 is enabledBillboard / Ribbon / Triangle / Mesh
DynamicParameter2Renderer’s Input2 input if ShaderInput2 is enabledBillboard / Ribbon / Triangle / Mesh
DynamicParameter3Renderer’s Input3 input if ShaderInput3 is enabledBillboard / Ribbon / Triangle / Mesh

Custom materials

Creating custom materials is possible, but requires that the following properties are enabled:

  • Material applied on Billboard/Ribbon/Triangle renderers: check Used With Particle Sprites and set Material Domain to Surface
  • Material applied on Mesh renderers: check Used With Mesh Particles

Note: You can create a copy of materials provided with the plugin to start from a working material.

Effect attributes

This section will list all attributes and attribute samplers.

Tweaking attributes values in this section will override default values for every instance of this effectif their values aren’t overridden.

Attributes can either be set from here, or in realtime via C++ or Blueprint.

Was this article helpful to you? Yes No

How can we help?