UDN
Search public documentation:

BeamEmitterReferenceCH
English Translation
日本語訳
한국어

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

光束发射器参考指南

文档概要:本文档描述了用于光束发射器的模块。

文档变更记录: 由Scott Sherman创建、更新并维护。

概述

Beam TypeData Module(光束类型数据模块)

为了使粒子系统产生一个您的特效所需要使用的BeamEmitterInstance(粒子发射器实例),这个模块是必须的。它包含以下成员:

BeamMethod(光束方法) 这个枚举变量允许您设置生成光束的方法。 可以是以下情况之一:

方法 描述
PEB2M_Distance 使用距离属性沿着发射器的X-轴发射一个光束。
PEB2M_Target 从发射器的源到提供的目标处发射一个光束。
PEB2M_Branch 目前无用。

TextureTile(贴图平铺块) 沿着光束平铺贴图的次数。 目前,这个功能还没有实现。

TextureTileDistance(贴图平铺块距离) 表示源贴图的一个平铺块沿着光束的距离。

Sheets(面片) 沿着光束要渲染的面片的数量。光束将均匀地沿着光束路径分布。比如,如果有两个面片,那么当您从上向下看光束穿行所沿着的坐标轴时将会看到一个十字叉。

MaxBeamCount(最大光束数量) 发射器所允许的活动光束的最大数量。

Speed(速度) 当发射器启动时,光束从源到目标的速度。如果将这个值设置为0,那么光束将从源立即跳跃到目标处。

InterpolationPoints(插值点) 指出光束是否应该使用源和目标的切线对沿着光束的曲线进行插值。如果这个值小于或等于零,那么光束将是在源和目标之间的一条直线(也就是没有插值)。如果该值大于零,那么光束将通过使用源和目标各自的切线值来在源和目标之间插值从而决定二者之间的路径。这个过程中所使用的步骤的数量就是这个属性中所设置的值。

bAlwaysOn(总是打开) 如果为TRUE,发射器将保证总是有存活的粒子。

BranchParentName(分支父项名称) 目前没有使用。

Distance(距离) 这个浮点分布提供了当BeamMethod设置为PEB2M_Distance时光束沿着X –轴穿行的距离。

TaperMethod(渐弱方法) 光束如何沿着它的长度变弱。可以是以下其中之一:

方法 描述
PEBTM_None 光束不会变少。
PEBTM_Full 无论光束的当前长度是多少,都相对于向目标移动的源来使得光束变少。
PEBTM_Partial 目前无用。

TaperFactor(渐弱因数) 它是一个分布,提供了光束渐弱的量。当使用常量曲线时,时间值0.0代表从光束的源头开始使它变少;当时间值为1.0时代表从目标处开始变少。

TaperScale(减弱比例) 缩放渐弱程度的比例。最终的光束变少量的值是 Taper = (TaperFactor * TaperScale)。 这样做的目的主要是使它作为一个粒子参数分布,允许您根据它的应用来在代码中设置光束变少相关的缩放因数。

RenderGeometry(渲染几何体) 如果为TRUE (默认值),将渲染光束的实际几何体。

RenderDirectLine(渲染直线) 调试帮助标志。如果为真,在光束的源和目标之间将会渲染一条直线。

RenderLines(渲染线) 调试帮助标志。如果为真,将会沿着光束的每段渲染直线。

Beam Source Module(光束源模块)

这个模块为光束发射器实现了一个单独的源。(如果在一个光束发射器中不存在源模块,发射器位置本身将被作为源。) 它提供了以下属性:

SourceMethod(源方法) 这个枚举变量允许您设置获得光束源位置的方法。可以是以下情况之一:

方法 描述
PEB2STM_Default 使用源分布曲线。
PEB2STM_UserSet 使用用户设置的值。
PEB2STM_Emitter 使用发射器的位置作为源。
PEB2STM_Particle 目前不使用。
PEB2STM_Actor 使用给定名称的actor的位置作为源。

SourceName(源名称) 用于作为源的actor的名称。仅当SourceMethod 设置为PEB2STM_Actor时使用。如果没有找到该actor ,那么将会回滚回来使用Source(源)分布。

bSourceAbsolute(绝对源) 如果为TRUE,将把源作为世界空间中的一个绝对位置对待(也就是,不对它进行变换)。

Source(源) 一个向量分布,用于设置源的位置。当方法设置为Default时或者当其他方法不能确定源点时使用该项。 这个值通过使用当前的发射器时间从分布中查找获得。

bLockSource(锁定源) 如果为TRUE,源的位置将仅在粒子产生时设置。

SourceTangentMethod(源切线方法) 这个枚举型变量用于设置获得光束源且显得方法。可以是以下情况之一:

方法 描述
PEB2STTM_Direct 在源和目标之间使用一条直线。
PEB2STTM_UserSet 使用用户设置的值。
PEB2STTM_Distribution 使用从SourceTangent (源切线)分布获得的值。
PEB2STTM_Emitter 使用发射器面向的方向。

SourceTangent(源切线) 一个向量分布,允许您设置源切线。当SourceTangentMethod设置为PEB2STTM_Distribution使用该项。这个值使用当前的发射器时间计算获得。

bLockSourceTangent(锁定源切线) 如果为TRUE,则源切线仅在粒子产生时设置。

SourceStrength(源强度) 一个浮点型分布,为每个光束提供了源所在位置的切线的强度。这个值使用当前的发射器时间计算获得。无论获得 Source/SourceTangent 所使用的方法是什么,都会使用这个强度。

bLockSourceStrength(锁定源强度) 如果为TRUE,则仅在粒子产生时设置源强度。

Beam Target Module(光束目标模块)

这个模块实现了光束发射器的一个独立的目标。(如果光束发射器中没有光束目标模块,那么发射器将假设定向地使用光束。) 它提供了以下属性:

TargetMethod(目标方法) 这个枚举值允许您设置获得光束目标位置的方法。可以是以下情况之一:

方法 描述
PEB2STM_Default 使用目标分布曲线。
PEB2STM_UserSet 使用用户设置的值。
PEB2STM_Emitter 当前不支持。
PEB2STM_Particle 当前不支持。
PEB2STM_Actor 使用给定名称的actor的位置作为源。

注意: 如果将目标点设置为发射器或粒子,那么目标将会使用分布中的值。

TargetName(目标名称) 用作为目标的actor的名称。仅当TargetMethod 设置为PEB2STM_Actor时使用。如果没有找到该actor ,那么将会回滚回来使用Target分布。

Target(目标) 一个向量分布,用于设置目标的位置。当方法设置为Default时或者当其他方法不能确定目标点时使用该项。 这个值通过使用当前的发射器时间从分布中查找获得。

bTargetAbsolute(绝对目标) 如果为TRUE,将把目标当做世界空间中的绝对位置对待(也就是,不对它进行坐标变换)。

bLockTarget(锁定目标) 如果为TRUE,目标位置将仅在粒子产生时设置。

TargetTangentMethod(目标切线方法) 这个枚举值允许您设置获得光束目标切线的方法。可以是以下情况之一:

方法 描述
PEB2STTM_Direct 在源和目标之间使用一条直线。
PEB2STTM_UserSet 使用用户设置的值。
PEB2STTM_Distribution 使用从TargetTangent 分布中获得的值。
PEB2STTM_Emitter 使用发射器面向的方向。

TargetTangent(目标切线) 一个向量分布,允许您设置目标切线。当TargetTangentMethod设置为PEB2STTM_Distribution使用该项。这个值使用当前的发射器时间计算获得。

bLockTargetTangent(锁定目标切线) 如果为TRUE,目标切线将仅在粒子产生时设置。

TargetStrength(目标强度) 一个浮点型分布,为每个光束提供了来自目标点的切线强度。这个值使用当前的发射器时间计算获得。无论获得Target/TargetTangent所使用的方法是什么,都会使用这个强度。

bLockTargetStrength(锁定目标强度) 如果为TRUE,目标强度将仅在粒子产生时设置。

LockRadius(锁定半径) 当前光束的末端应该在其内部的球体半径,将被认为是锁定到目标点。当使用设置了Speed中的光束时使用该项。

Beam Noise Module(光束噪声模块)

这个模块允许您沿着光束插入噪声。它提供了以下属性:

bLowFreq_Enabled 如果为TRUE,说明启用了低频率的噪声。 [注意: 目前,仅支持低频率的噪声。]

Frequency(频率) 沿着光束中的噪声点的频率。

Frequency_LowRange(频率_下限范围) 如果这个值大于0,它给出了频率范围的下限值。当粒子生成时,它的频率将会设定在[Frequency_LowRange..Frequency]范围之内。

NoiseRange(噪声范围) 一个分布曲线,提供了噪声点位置的范围。如果使用常量曲线,那么时间 0.0对应着第一个频率点,时间1.0对应着目标点。剩余的点通过使用公式(CurrentFrequencyPoint * (1.0/TotalFrequencyPoints))计算查找。

NoiseRangeScale(噪声范围缩放) 这个曲线提供了一种根据发射器时间来缩放噪声范围的方法。

bNRScaleEmitterTime(使用发射器时间查找噪声范围缩放) 如果为TRUE,则使用发射器时间来计算查找NoiseRangeScale(噪声范围缩放)的值。 如果该项为FALSE,那么将使用粒子时间计算获得NoiseRangeScale的结果。

NoiseSpeed(噪声速度) 一个向量分布,提供了噪声点移动的速度。

bSmooth(平滑) 如果为TRUE,尝试在噪声点之间进行平滑移动。

NoiseLockRadius(噪声锁定半径) 在噪声点周围的球体的半径,该球体半径预示着噪声点处于锁定状态。

bOscillate(振荡) 如果为TRUE,噪声点将会沿着光束直线前后振动。

NoiseLockTime(噪声锁定时间) 在取得一个新的噪声点之前,噪声点应该被锁定的时间长度。

NoiseTension(噪声张力) 应用到细分噪声直线上的张力。

bUseNoiseTangents(使用噪声切线) 尚未使用。

NoiseTangentStrength(噪声切线强度) 在沿着光束进行插值的过程中,应用到噪声点处的切线的强度。

NoiseTessellation(噪声细分) 在噪声点之间进行插值的点的数量。

bTargetNoise(目标噪声) 如果为TRUE,把噪声要应用到目标点上。

FrequencyDistance(频率距离) 放置噪声点的距离。如果这个值是0.0,那么使用标准的Frequency/Frequency_LowRange对决定噪点的频率。 如果该值不是0.0,那么噪点则根据静态的Frequency值所决定的距离进行分布。 这使得在较短的光束上有较少的噪点,随着光束的增长会自动地添加噪点。

bApplyNoiseScale(应用噪声缩放) 如果为TRUE,则在光束上应用NoiseScale(噪声缩放)。

NoiseScale(噪声缩放) 当bApplyNoiseScale为true时,这项是应用到噪声范围上的缩放因数。这个分布的查找值是由现有噪点数量除以最大噪点数量(也就是Frequency)来获得。