Beam Emitter Reference
Document Summary: This document describes the modules that are used for Beam emitters.
Document Changelog: Created, updated and maintained by Scott Sherman.
Overview
Beam TypeData Module
This module is required in order to have the ParticleSystem generate a BeamEmitterInstance for use in your effects. It contains the following member(s):
BeamMethod
This enumeration allows for setting the method for generating your beam.
It can be one of the following:
Method | Description |
PEB2M_Distance | Use the distance property to emit a beam along the X-axis of the emitter. |
PEB2M_Target | Emit a beam from the source of the emitter to the supplied target. |
PEB2M_Branch | Currently unused. |
TextureTile
The number of times to tile the texture along the beam.
Currently, this is unimplemented.
TextureTileDistance
The distance along the beam that represents one tile of the source texture.
Sheets
The number of sheets to render along the beam. Sheets will be evenly distributed around the beam path. For example, 2 sheets would for a cross if you were looking down the axis the beam is travelling down.
MaxBeamCount
The maximum number of live beams the emitter is allowed to have.
Speed
The speed at which the beam should move from source to target when firing up. If the value is set to 0, the beam will instantaneously jump from the source to the target.
InterpolationPoints
Indicates whether the beam should use the source and target tangents to interpolate a curve along the beam. If this value is less than or equal to zero, the beam will be a straight line between the source and target (ie, no interpolation). If greater than zero, the beam will determine the path between source and target by interpolating between the two utilizing their respective tangent values. The number of steps it will use during this will be the value set in this property.
bAlwaysOn
If TRUE, the emitter will ensure there is always a live particle.
BranchParentName
Currently unused.
Distance
This float distribution provides the distance along the X-axis the beam should travel when the BeamMethod is set to PEB2M_Distance.
TaperMethod
How the beam is tapered along its length. Can be one of the following values:
Method | Description |
PEBTM_None | No tapering is applied to the beam. |
PEBTM_Full | Taper the beam relative to source moving to target, regardless of current beam length. |
PEBTM_Partial | Currently unused. |
TaperFactor
A distribution supplying the amount to taper the beam. When using a constant curve, a time value of 0.0 represents the taper at the source of the beam, while a time value of 1.0 is the target.
TaperScale
The amount to scale the tapering. The final taper values used will be Taper = (TaperFactor * TaperScale).
This is intended primarily to be used as a particle parameter distribution to allow game code to set scale factors on the tapering of the beam that correspond to its usage.
RenderGeometry
If TRUE (the default), the actual geometry for the beam will be rendered.
RenderDirectLine
A debug helper flag. If TRUE, a direct line will be rendered between the source and target of the beam.
RenderLines
A debug helper flag. If TRUE, lines will be rendered along each segment of the beam.
Beam Source Module
This module implements a single source for a beam emitter. (If a source module is not present in a beam emitter, the emitter location itself it used as the source.) It contains the following properties:
SourceMethod
This enumeration allows for setting the method for obtaining the beams source position. It can be one of the following:
Method | Description |
PEB2STM_Default | Use the Source distribution. |
PEB2STM_UserSet | Use the user set value. |
PEB2STM_Emitter | Use the emitter position as the source. |
PEB2STM_Particle | Currently unused. |
PEB2STM_Actor | Use the position of the actor of the given name. |
SourceName
The name of the actor to use as the source. Only used when SourceMethod is set to PEB2STM_Actor. If the actor is not found, the fallback is to use the Source distribution.
bSourceAbsolute
If TRUE, treat the source as an absolute position in world space (ie, do not transform it).
Source
A vector distribution allowing for the setting of the source position. Used when the method is set to Default, or in the event of any other method failing to determine a source point.
The value is retrieved from the distribution using the current emitter time.
bLockSource
If TRUE, the source position will only be set at spawn time.
SourceTangentMethod
This enumeration allows for setting the method for obtaining the beams source tangent. It can be one of the following:
Method | Description |
PEB2STTM_Direct | Use a direct line between the source and target. |
PEB2STTM_UserSet | Use the user set value. |
PEB2STTM_Distribution | Use the values from the SourceTangent distribution. |
PEB2STTM_Emitter | Use the direction the emitter is facing. |
SourceTangent
A vector distribution allowing for setting the source tangent. Used when the SourceTangentMethod is set to PEB2STTM_Distribution. The value is retrieved using the current emitter time.
bLockSourceTangent
If TRUE, the source tangent will only be set at spawn time.
SourceStrength
A float distribution that provides the strength of the tangent from the source point for each beam. The value is retrieved using the current emitter time. This strength is used regardless of the method used to obtain the Source/SourceTangent.
bLockSourceStrength
If TRUE, the source strength will only be set at spawn time.
Beam Target Module
This module implements a single target for a beam emitter. (If a target module is not present in a beam emitter, the emitter assumes that the beam is to be used directionally.) It contains the following properties:
TargetMethod
This enumeration allows for setting the method for obtaining the beams target position. It can be one of the following:
Method | Description |
PEB2STM_Default | Use the Target distribution. |
PEB2STM_UserSet | Use the user set value. |
PEB2STM_Emitter | Currently unsupported. |
PEB2STM_Particle | Currently unsupported. |
PEB2STM_Actor | Use the position of the actor of the given name. |
NOTE: If set to either Emitter or Particle, the target will use the value from the distribution.
TargetName
The name of the actor to use as the target. Only used when TargetMethod is set to PEB2STM_Actor. If the actor is not found, the fallback is to use the Target distribution.
Target
A vector distribution allowing for the setting of the target position. Used when the method is set to Default, or in the event of any other method failing to determine a target point.
The value is retrieved from the distribution using the current emitter time.
bTargetAbsolute
If TRUE, treat the target as an absolute position in world space (ie, do not transform it).
bLockTarget
If TRUE, the target position will only be set at spawn time.
TargetTangentMethod
This enumeration allows for setting the method for obtaining the beams target tangent. It can be one of the following:
Method | Description |
PEB2STTM_Direct | Use a direct line between the source and target. |
PEB2STTM_UserSet | Use the user set value. |
PEB2STTM_Distribution | Use the values from the TargetTangent distribution. |
PEB2STTM_Emitter | Use the direction the emitter is facing. |
TargetTangent
A vector distribution allowing for setting the target tangent. Used when the TargetTangentMethod is set to PEB2STTM_Distribution. The value is retrieved using the current emitter time.
bLockTargetTangent
If TRUE, the target tangent will only be set at spawn time.
TargetStrength
A float distribution that provides the strength of the tangent from the target point for each beam. The value is retrieved using the current emitter time. This strength is used regardless of the method used to obtain the Target/TargetTangent.
bLockTargetStrength
If TRUE, the target strength will only be set at spawn time.
LockRadius
The radius of the sphere that the current beam-end should be in to be considered locked to the target point. Used when utilizing a beam that has a Speed value set.
Beam Noise Module
This module allows for injecting noise along the beam. It contains the following properties:
bLowFreq_Enabled
If TRUE, indicates that low-frequency noise is enabled.
[NOTE: Currently, low-frequency noise is the only noise supported.]
Frequency
The frequency of the noise points along the beam.
Frequency_LowRange
If greater than 0, this value gives the low end of a range for the frequency. At the spawn time of a particle, the frequency for it will be set in the [Frequency_LowRange..Frequency] range.
NoiseRange
A distribution providing the range of the noise point positions. If using a constant curve, the mapping is time 0.0f is at the first frequency point, time 1.0 is at the target point. The remaining points are looked up by using the (CurrentFrequencyPoint * (1.0/TotalFrequencyPoints)).
NoiseRangeScale
This distribution provides a method for scaling the noise range over the emitter time.
bNRScaleEmitterTime
If TRUE, the NoiseRangeScale results will be retrieved using the emitter time.
If FALSE, the NoiseRangeScale results will be retrieved using the particle time.
NoiseSpeed
A vector distribution providing the speed at which noise points move.
bSmooth
If TRUE, attempt to smoothly move between noise points.
NoiseLockRadius
The radius of the sphere around noise points that indicates they are locked.
bOscillate
If TRUE, noise points will bounce back and forth across the beam direct line.
NoiseLockTime
How long the noise points should be locked before picking a new noise point.
NoiseTension
The tension to apply to the tessellated noise line.
bUseNoiseTangents
Unused.
NoiseTangentStrength
The strength to apply to tangents at noise points during the interpolation along the beam.
NoiseTessellation
The number of points to interpolate between noise points.
bTargetNoise
If TRUE, apply noise to the target point.
FrequencyDistance
The distance at which to place noise point. If this value is 0.0, then use the standard Frequency/Frequency_LowRange pair to determine the frequency of noise points.
If not 0.0, noise points will be distributed at the given distance up to the static Frequency value.
This allows for having fewer noise points on shorter beams, and to add noise points automatically as the beam grows.
bApplyNoiseScale
If TRUE, apply the NoiseScale to the beam.
NoiseScale
The scale factor to apply to the noise range when bApplyNoiseScale is true. The lookup value for this distribution is determined by dividing the number of noise points present by the maximum number of noise points (ie, the Frequency).
Important!
You are viewing documentation for the Unreal Development Kit (UDK).
If you are looking for the Unreal Engine 4 documentation, please visit the Unreal Engine 4 Documentation site.