Default Required and Spawn Modules

The following classes and modules always exist when a new emitter is created. They will always be present and cannot be deleted.

Required Module

Every particle emitter contains this module which contains all the properties that are required by a particle emitter. This includes the following:

Property Description

Emitter

Material The material to apply to the particles.
Emitter Origin The point in 3D space where particles will be emitted from this emitter, unless otherwise specified by other modules.
Emitter Rotation A local rotation applied to the emitter itself.
Screen Alignment How the particle is oriented in relation to the camera. The following modes are allowed:
Flag Description
FacingCameraPosition Particles will rotate to face the camera position, but will ignore camera rotation.
Square Uniform scale (forced to the X setting), facing the camera.
Rectangle Non-uniform scale, facing the camera.
Velocity Orient the particle towards both the camera and the direction the particle is moving. Non-uniform scaling is allowed.
TypeSpecific Use the alignment method indicated in the type data module. (Mesh only)
Use Local Space Indicates whether the particle emitter should apply the world transform of its parent (false) or not (true). When true, a particle emitter will perform all operations in local space.
Kill On Deactivate Indicates whether the particle emitter should kill all particles on deactivation. If false, any living particles will complete their lifetime when the emitter is deactivated.
Kill On Completed Indicates whether the particle system component should kill this emitter instance when it completes.
Sort mode The sorting mode use for the emitter.
Mode Description
PSORTMODE_None No sorting is performed.
PSORTMODE_ViewProjDepth Sort particles by depth based on the view projection.
PSORTMODE_DistanceToView Sort particles by distance of the particle to the camera in world space.
PSORTMODE_Age_OldestFirst Sort the particles by age, with oldest particle drawn first.
PSORTMODE_Age_NewestFirst Sort the particles by age, with newest particle drawn first.
Use Legacy Emitter Time If true, the EmitterTime for the emitter will be calculated by modulating the SecondsSinceCreation by the EmitterDuration. As this can lead to issues with looping and variable duration, a new approach has been implemented. If false, this new approach is utilized, and the EmitterTime is simply incremented by DeltaTime each tick. When the emitter loops, it adjusts the EmitterTime by the current EmitterDuration resulting in proper looping/delay behavior.
Orbit Module Affects Velocity Alignment If true, movement generated by orbit modules is applied to velocity-aligned particles.

Duration

Emitter Duration Indicates how long, in seconds, the emitter will run before looping. If set to 0, the emitter will never loop.
Emitter Duration Low Gives the low-end of emitter duration to allow for variations in the duration of an emitter.
Emitter Duration Use Range When true, the emitter will select a duration from the range of EmitterDurationLow to EmitterDuration when starting up.
Duration Recalc Each Loop When true, the emitter will select a new duration from the range of EmitterDurationLow to EmitterDuration when looping.
Emitter Loops The number of times to loop before going inactive. If set to 0, the emitter will run constantly, looping 'forever'.

Delay

Emitter Delay The amount of time to delay starting the emitter. This allows for 'staggering' emitters within a single particle system. This also serves as the upper bound for choosing a random delay value when using a range.
Emitter Delay Low The lower bound for choosing a random delay value when using a range.
Emitter Delay Use Range If true, the effective delay value for the emitter will be a random value chosen from the range [Emitter Delay Low, Emitter Delay].
Delay First Loop Only When true, and emitter with an EmitterDelay of greater than 0 and EmitterLoops greater than 1 will only perform the delay on the first loop.

Sub UV

The Sub UV data indicates that the emitter should utilize sub-images of the texture applied. This is useful for implementing simple animations on particles.

Interpolation Method An enumeration indicating the method that should be utilized to interpolate between sub-images. This can be one of the following:
Method Description
None Do not apply SubUV modules to this emitter.
Linear Smoothly transition between sub-images in the given order, with no blending between the current and the next.
Linear_Blend Smoothly transition between sub-images in the given order, blending between the current and the next.
Random Pick the next image at random, with no blending between the current and the next.
Random_Blend Pick the next image at random, blending between the current and the next.
Sub Images_Horizontal The number of sub-images in the texture on the horizontal (x) axis of the texture.
Sub Images_Vertical The number of sub-images in the texture on the vertical (y) axis of the texture.
Scale UV Indicates that the UV values should be scaled to properly `fit' the sub-image size. This is only used for mesh emitters.
Random Image Changes The number of times to changes the image over the lifetime of the particle when InterpolationMethod is set to Random.

Macro UV

The Macro UV section indicates that the emitter should utilize macro UVs, which allow for a single image to be mapped contiguously across multiple particles, rather than individually for each particle. Be aware that to make use of this feature, the material applied to the particles must utilize the ParticleMacroUV material expression node.

Override System Macro UV If true, the settings here will override the system Macro UV settings, which can be seen by deselecting all emitters and modules in Cascade's Emitter List.
Macro UVPosition The local space position from which all Macro UV calculations will originate.
Macro UVRadius World radius beyond which any Macro UV materials will begin tiling.

Rendering

Use Max Draw Count When true, the emitter will never draw more than MaxDrawCount particles. All particles will still be updated when ticking.
Max Draw Count The number of particles to limit rendering to.
UV Flipping Mode Enabled the flipping of Sprite and GPU particles UV's in a number of different ways.
Mode Description
None No UV flipping occurs. This is the default.
FlipUV Flips the U and V texture coordinates.
U Only Flips only the U texture coordinate.
V Only Flips the V texture coordinate.
Random Flip UV Randomly flips U and V together at spawn time.
Random Flip U Only Randomly flips just U at spawn time.
Random Flip V Only Randomly flips just V at spawn time.
Random Flip UV Independent Randomly flips U and V independently at spawn time.

Normals

Emitter Normals Mode The mode used to generate normals for this emitter LOD.
Mode Description
ENM_CameraFacing Default mode, normals are based on the camera facing geometry.
ENM_Spherical Normals are generated from a sphere centered at NormalsSphereCenter.
ENM_Cylindrical Normals are generated from a cylinder going through NormalsSphereCenter, in the direction NormalsCylinderDirection.
Normals Sphere Center When Emitter Normals Mode is ENM_Spherical, particle normals are created to face away from Normals Sphere Center. The value is in local space.
Normals Cylinder Direction When Emitter Normals Mode is ENM_Cylindrical, particle normals are created to face away from the cylinder going through Normals Sphere Center in the direction Normals Cylinder Direction. This value is in local space.

Spawn Module

Every particle emitter contains this module which contains all the properties that determine how particles are spawned. This includes the following:

Property Description

Spawn

Rate This float distribution provides the spawn rate (particle per second) of particles for the emitter at a given time.
Rate Scale A scaling factor to apply to the Rate for the emitter.
Process Spawn Rate If true, the Rate will be processed. If multiple Spawn Modules are 'stacked' in an emitter and ANY one of them has this property disabled, none of the Rates will be processed for the emitter.

Burst

The Burst data indicates that the emitter should force the emission of a given number of particles at a set time. It involves the following members:
ParticleBurstMethod The method to use when emitting particles in bursts. Currently ignored.
BurstList An array of integer Count and CountLow and float Time values identifying desired bursts of particles. Time is in the range of [0..1] over the emitter lifetime. If CountLow is set to -1, the emitter will burst Count particles at the given time. Otherwise, the emitter will burst a random number of particles in the range [CountLow..Count] at the given time.
Process Burst list If true, the Burst List will be processed. If multiple Spawn Modules are 'stacked' in an emitter and ANY one of them has this property disabled, none of the Burst Lists will be processed for the emitter.
Burst Scale Scales all burst entries by this amount.
Tags