UDN
Search public documentation:

BeamEmitterReference
日本語訳
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

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