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
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. |