Location Modules

Location modules affect the position of particles at various times throughout their lives.

Choose your operating system:

Windows

macOS

Linux

Location modules affect the position of particles at various times throughout their lives.

Initial Location

The Initial Location module is used to set the initial location of a particle at spawn time. It contains the following member(s):

Property

Description

Location

Start Location

A vector distribution indicating the location the particle should be emitted, relative to the emitter. Value is retrieved based on the EmitterTime at the spawn of the particle.

Distribute over NPoints

When this is set to a non-zero number, it provides a number of evenly-spaced points along a uniform distribution from which to emit. For instance, if the min and max values of a distribution defined a line 100 units long, setting this value to 2 would cause particles to only be emitted from the actual min and max locations, nowhere in between.

Distribute Threshold

When Distribute over NPoints is set to any non-zero number, this provides a percentage for how many of the particles will emit from those evenly-spaced points. For example, a value of 1 will cause all particles to emit from those points. A value of 0.5 would cause half of the particles to emit from those points, while the other half would still spawn randomly.

In Spawn, the module retrieves the appropriate values from the distribution using the current emitter time. If the particle emitter does not have the Use Local Space flag, this value is transformed into world-space. The Particle.Location field then has this value added to it.

Initial Loc (Seed)

The Initial Loc (Seeded) module is identical to the Initial Location module in that it sets the initial location of a particle at spawn time; however, this module allows you to specify seed information to be used when choosing distribution values in order to provide a more consistent effect from the module each time the emitter is used. It contains the following member(s):

Property

Description

RandomSeed

Random Seed Info

The random seed(s) to use for selecting "random" values for this module's properties.

Property

Description

Get Seed From Instance

If true , the module will attempt to get the seed from the owner instance. If that fails, it will fall back to getting it from the Random Seeds array.

Instance Seed Is Index

If true , the seed value retrieved from the instance will be an index into the Random Seeds array.

Parameter Name

The name to expose to the placed instance for setting this seed.

Random Seeds

The random seed values to utilize for this module. If multiple values are specified, a value will be chosen at random by the instance.

Reset Seed On Emitter Looping

If true , the seed will be reset each time the emitter loops.

Location

Start Location

A vector distribution indicating the location the particle should be emitted, relative to the emitter. Value is retrieved based on the EmitterTime at the spawn of the particle.

Distribute over NPoints

When this is set to a non-zero number, it provides a number of evenly-spaced points along a uniform distribution from which to emit. For instance, if the min and max values of a distribution defined a line 100 units long, setting this value to 2 would cause particles to only be emitted from the actual min and max locations, nowhere in between.

Distribute Threshold

When Distribute over NPoints is set to any non-zero number, this provides a percentage for how many of the particles will emit from those evenly-spaced points. For example, a value of 1 will cause all particles to emit from those points. A value of 0.5 would cause half of the particles to emit from those points, while the other half would still spawn randomly.

In Spawn, the module retrieves the appropriate values from the distribution using the current emitter time. If the particle emitter does not have the Use Local Space flag, this value is transformed into world-space. The Particle.Location field then has this value added to it.

World Offset

The World Offset module is used to offset the initial location of a particle. The offset is in world space but respects the Use Local Space flag through the life of the particle. This means the particle will always spawn offset in world space regardless of the orientation of the emitter, but will keep that offset relative to the emitter throughout its life. It contains the following member(s):

Property

Description

Location

Start Location

A vector distribution indicating the world-space offset the particle should use. Value is retrieved based on the EmitterTime at the spawn of the particle.

Distribute over NPoints

When this is set to a non-zero number, it provides a number of evenly-spaced points along a uniform distribution from which to emit. For instance, if the min and max values of a distribution defined a line 100 units long, setting this value to 2 would cause particles to only be emitted from the actual min and max locations, nowhere in between.

Distribute Threshold

When Distribute over NPoints is set to any non-zero number, this provides a percentage for how many of the particles will emit from those evenly-spaced points. For example, a value of 1 will cause all particles to emit from those points. A value of 0.5 would cause half of the particles to emit from those points, while the other half would still spawn randomly.

Bone/Socket Location

The Bone/Socket Location module allows particle to be spawned directly at the locations of bones or sockets of a SkeletalMesh. It provides the following properties:

Property

Description

BoneSocket

Source Type

Specifies whether the source locations are bones or sockets.

Type

Description

BONESOCKETSOURCE_Sockets

Source Locations for spawning particles are socket names.

BONESOCKETSOURCE_Bones

Source Locations for spawning particles are bones.

Universal Offset

The offset to apply to each bone or socket source.

Source Locations

An array of source bones or sockets on the Skeletal Mesh from which to spawn particles.

Property

Description

Bone Socket Name

Specifies the name of the bone or socket on the SkeletalMesh to use as the source for the particles.

Offset

The offset from this individual bone or socket to use in addition to the Universal Offset .

Selection Method

The method by which a bone or socket is chosen from the Source Locations array.

Method

Description

BONESOCKETSEL_Sequential

Items in the Source Locations array are chosen in sequential order.

BONESOCKETSEL_Random

Items in the Source Locations array are chosen at random.

BONESOCKETSEL_RandomExhaustive

Items in the Source Locations are chosen at random, but never the same item twice until all sources have been used.

Update Position Each Frame

If true , the locations of the particles will be updated to those of the bones or sockets each frame.

Orient Mesh Emitters

If true , mesh particles emitted by mesh emitters will be oriented to the bone or socket source.

Skel Mesh Actor Param Name

The name of the instance parameter specifying the SkeletalMeshActor that supplies the SkeletalMeshComponent to use in-game.

Editor Skel Mesh

Specifies a SkeletalMesh to use in the editor for preview purposes.

Direct Location

The Direct Location module is used to directly set the location of a particle. It contains the following member(s):

Property

Description

Location

Location

A vector distribution giving the location of the particle at a given time. The value is retrieved based on the Particle RelativeTime. NOTE that the particle location is set to this value, thereby over-writing any previous module impacts.

Location Offset

A vector distribution giving the offset to apply from the position retrieved from the Location calculation. The offset is retrieved using the EmitterTime. This is useful for using a Location field set by script code to an Actor or something, and a random LocationOffset to offset it around the object. The offset will remain constant over the life of the particle.

Scale Factor

A vector distribution which allows for scaling the velocity of the object at a given point in the timeline. This allows for warping the particles to fit the path they are following.

Direction

Currently unused.

Emitter Init Loc

The Emitter InitLoc module is used to set the initial location of a particle to the position of a particle from another emitter (in the same particle system). It contains the following member(s):

Property

Description

Location

Emitter Name

The name of the emitter to use as a source for the location particles.

Selection Method

An enumeration indicating how to select the particles from the source emitter. If can be one of the following values:

Method

Description

ELESM_Random

Randomly select a particle from the source emitter.

ELESM_Sequential

Step through each of the particles from the source emitter in order.

Inherit Source Velocity

A Boolean that indicates the spawned particle should inherit the velocity of the source particle.

Inherit Source Velocity Scale

Amount to scale the source velocity by when inheriting it.

Inherit Source Rotation

A Boolean that indicates the spawned particle should inherit the rotation of the source particle.

Inherit Source Rotation Scale

Amount to scale the source rotation by when inheriting it.

Emitter Direct Loc

The Emitter DirectLoc module is used to set the location of a particle to the position of a particle from another emitter (in the same particle system) for the particle's entire life. It contains the following member(s):

Property

Description

Location

EmitterName

The name of the emitter to use as a source for the location particles.

The particle used will be the one at the same index as the particle having its location set.

Cylinder

The Cylinder module is used to set the initial location of particles within a cylinder shape. It contains the following member(s):

Property

Description

Location

Radial Velocity

A Boolean indicating that the particle velocity should only be applied in the `circular' plane of the cylinder.

Start Radius

A float distribution giving the radius of the cylinder.

Start Height

A float distribution giving the height of the cylinder - centered about the location.

Height Axis

An enumeration indicating which particle system axis should represent the height axis of the cylinder. Can be one of the following:

Axis

Description

PMLPC_HEIGHTAXIS_X

Orient the cylinder with height along the particle system X-axis.

PMLPC_HEIGHTAXIS_Y

Orient the cylinder with height along the particle system Y-axis.

PMLPC_HEIGHTAXIS_Z

Orient the cylinder with height along the particle system Z-axis.

Positive_X, Positive_Y, Positive_Z, Negative_X, Negative_Y, Negative_Z

Boolean values indicating the valid axes for particle spawning.

Surface Only

A Boolean value indicating that the particles should only be spawned on the surface of the primitive.

Velocity

A Boolean value indicating that the particle should get its velocity from the position within the primitive.

Velocity Scale

A float distribution indicating the scale that should be applied to the velocity. Only used if the Velocity value is checked ( true ).

Start Location

A vector distribution indicating the location of the bounding primitive, relative to the position of the emitter.

Cylinder (Seeded)

The Cylinder (Seeded) module is identical to the Cylinder module in that it sets the initial location of particles within a cylinder shape; however, this module allows you to specify seed information to be used when choosing distribution values in order to provide a more consistent effect from the module each time the emitter is used. It contains the following member(s):

Property

Description

RandomSeed

Random Seed Info

The random seed(s) to use for selecting "random" values for this module's properties.

Property

Description

Get Seed From Instance

If true , the module will attempt to get the seed from the owner instance. If that fails, it will fall back to getting it from the Random Seeds array.

Instance Seed Is Index

If true , the seed value retrieved from the instance will be an index into the Random Seeds array.

Parameter Name

The name to expose to the placed instance for setting this seed.

Random Seeds

The random seed values to utilize for this module. If multiple values are specified, a value will be chosen at random by the instance.

Reset Seed On Emitter Looping

If true , the seed will be reset each time the emitter loops.

Location

Radial Velocity

A Boolean indicating that the particle velocity should only be applied in the `circular' plane of the cylinder.

Start Radius

A float distribution giving the radius of the cylinder.

Start Height

A float distribution giving the height of the cylinder - centered about the location.

Height Axis

An enumeration indicating which particle system axis should represent the height axis of the cylinder. Can be one of the following:

Axis

Description

PMLPC_HEIGHTAXIS_X

Orient the cylinder with height along the particle system X-axis.

PMLPC_HEIGHTAXIS_Y

Orient the cylinder with height along the particle system Y-axis.

PMLPC_HEIGHTAXIS_Z

Orient the cylinder with height along the particle system Z-axis.

Positive_X, Positive_Y, Positive_Z, Negative_X, Negative_Y, Negative_Z

Boolean values indicating the valid axes for particle spawning.

Surface Only

A Boolean value indicating that the particles should only be spawned on the surface of the primitive.

Velocity

A Boolean value indicating that the particle should get its velocity from the position within the primitive.

Velocity Scale

A float distribution indicating the scale that should be applied to the velocity. Only used if the Velocity value is checked ( true ).

Start Location

A vector distribution indicating the location of the bounding primitive, relative to the position of the emitter.

Sphere

The Sphere module is used to set the initial location of particles within a sphere shape. The class contains the following member(s):

Property

Description

Location

Start Radius

A float distribution giving the radius of the sphere.

Positive_X, Positive_Y, Positive_Z, Negative_X, Negative_Y, Negative_Z

Boolean values indicating the valid axes for particle spawning.

Surface Only

A Boolean value indicating that the particles should only be spawned on the surface of the primitive.

Velocity

A Boolean value indicating that the particle should get its velocity from the position within the primitive.

Velocity Scale

A float distribution indicating the scale that should be applied to the velocity. Only used if the Velocity value is checked ( true ).

Start Location

A vector distribution indicating the location of the bounding primitive, relative to the position of the emitter.

Sphere (Seeded)

The Sphere (Seeded) module is identical to the Sphere module in that it sets the initial location of particles within a sphere shape; however, this module allows you to specify seed information to be used when choosing distribution values in order to provide a more consistent effect from the module each time the emitter is used. It contains the following member(s):

Property

Description

RandomSeed

Random Seed Info

The random seed(s) to use for selecting "random" values for this module's properties.

Property

Description

Get Seed From Instance

If true , the module will attempt to get the seed from the owner instance. If that fails, it will fall back to getting it from the Random Seeds array.

Instance Seed Is Index

If true , the seed value retrieved from the instance will be an index into the Random Seeds array.

Parameter Name

The name to expose to the placed instance for setting this seed.

Random Seeds

The random seed values to utilize for this module. If multiple values are specified, a value will be chosen at random by the instance.

Reset Seed On Emitter Looping

If true , the seed will be reset each time the emitter loops.

Location

Start Radius

A float distribution giving the radius of the sphere.

Positive_X, Positive_Y, Positive_Z, Negative_X, Negative_Y, Negative_Z

Boolean values indicating the valid axes for particle spawning.

Surface Only

A Boolean value indicating that the particles should only be spawned on the surface of the primitive.

Velocity

A Boolean value indicating that the particle should get its velocity from the position within the primitive.

Velocity Scale

A float distribution indicating the scale that should be applied to the velocity. Only used if the Velocity value is checked ( true ).

Start Location

A vector distribution indicating the location of the bounding primitive, relative to the position of the emitter.

Triangle

Triangle.png

The Triangle module allows the user to specify the shape and location of a triangle, with particles being emitted from that triangle's 2D or 3D area, depending on whether there is a thickness applied.

Property

Description

Location

Start Offset

A vector distribution that defines an offset to the location of the triangle.

Height

A float distribution that defines the length of the legs of the triangle.

Angle

A float distribution that provides the angle between the primary leg and the hypotenuse.

Thickness

A float distribution that provides the thickness of the triangle, turning it into a 3D wedge. Particles will be emitted from within the 3-dimensional area.

Skeletal Mesh Vertex/Surface Location (Skel Vert/Surf Loc)

The Skel Vert/Surf Loc module allows for particles to be emitted from a skeletal mesh's vertices or polygonal surfaces. It provides the following properties:

Property

Description

Vert Surface

Source Type

Specifies whether the source locations are vertices or surfaces.

Type

Description

VERTSURFACESOURCE_Vert

Source Locations for spawning particles are mesh vertices.

VERTSURFACESOURCE_Surface

Source Locations for spawning particles mesh surfaces.

Universal Offset

The offset to apply to each bone or socket source.

Update Position Each Frame

If true , the locations of the particles will be updated to those of the vertices or surfaces each frame.

Orient Mesh Emitters

If true , mesh particles emitted by mesh emitters will be oriented to the vertex or surface source.

Inherit Bone Velocity

If true , particles inherit the associated bone velocities when spawned.

Skel Mesh Actor Param Name

The name of the instance parameter specifying the SkeletalMeshActor that supplies the SkeletalMeshComponent to use in-game.

Editor Skel Mesh

Specifies a SkeletalMesh to use in the editor for preview purposes.

Valid Associated Bones

An array of source bones on the Skeletal Mesh with which the vertices/surfaces must be associated (via skin weighting) to spawn particles.

Property

Description

(Numbered Entry)

Specifies the name of the bone on the SkeletalMesh to which a vertex or surface must be weighted in order to serve as the source for the particles.

Enforce Normal Check

When true , the Normal to Compare and Normal Check Tolerance Degree fields will be used to verify whether the surface has the appropriate normals for particle emission. This is useful in situations where, for example, you want to emit smoke or fire from the upward facing surfaces of a mesh, but not the downward facing ones.

Normal to Compare

When Enforce Normal Check is true , this will provide a normal direction to test against.

Normal Check Tolerance Degree

When Enforce Normal Check is true , this gives a tolerance value against the Normal to Compare value. A value of 0 means that the normals must match exactly, while a value of 180 would result in any normal direction being valid.

Valid Material Indices

Provides a list of materials applied to the skeletal mesh from which particles will be allowed to emit. Useful if only certain materials should be emitting particles. Leave empty to allow any material to emit.

Source Movement

The Source Movement module is used to offset the location of particles based on the movement of the source (i.e. the emitter). It contains the following properties:

Property

Description

SourceMovement

Source Movement

A vector distribution specifying the scaling factor to apply to the source movement before adding to the particle location. The value is retrieved using particle-relative time.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss