购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.3 常用粒子类型:Beam Data

Beam Data粒子光束类型,可以由粒子发射器产生从A点(发射源)到B点(目标)的光束。例如,科幻类FPS(第一人称射击)游戏中,角色使用激光枪,激光枪射出的光线打到目标时,会在角色与目标之间生成一道光束,这种目标对目标的光束,便是Beam Data光束类型的粒子发射器制作的。

在粒子系统编辑窗口,在粒子发射器模块的空白处单击鼠标右键,在弹出菜单栏中选择Type Data命令中的New Beam Data将粒子发射器转换为Beam类型。选中发射器中Beam Data模块栏,如图3-63所示,在左侧属性窗口中可以设置Beam模块的各属性参数,如图3-64所示。各模块功能如下。

图3-63

图3-64

这些就是Beam Data模块属性面板功能了。发射器更改为光束类型后,鼠标右键的模块菜单中也相应增加了Beam命令集。

如图3-65所示,在这里先熟悉一下Beam类模块中这四个小类的功能,以及它们的参数作用。

图3-65

01 Beam Modifier

02 Noise

03 Source

04 Target

在学习完这四个功能模块的菜单作用以后,下面制作一个小案例来说明Beam光束类型粒子发射器的使用方法。

如图3-66所示,在引擎主面板资源浏览器Content根目录Particles文件夹中单击鼠标右键,在弹出来的菜单中选择Particle System,建立一个新的粒子系统,将其命名为Beam。

图3-66

双击这个粒子系统图标,进入粒子编辑器界面,在发射器面板模块区空白处单击鼠标右键,选择Type Data命令中的New Beam Data,把发射器设置为Beam光束类型,如图3-67所示。

在粒子预览窗口中按F键聚焦粒子体,看到默认的十字形粒子体变成了一条细细的线,如图3-68所示。这是默认粒子纹理改为光束类型的效果。现在来给这个光束类型粒子发射器制作材质。

回到虚幻引擎主窗口,在资源浏览窗口Materials文件夹中建立一个新材质,将新建的材质命名为Beam Data。双击这个材质球图标进入材质编辑面板。首先调整材质的基础属性,在左侧属性窗口中将混合模式(Blend Mode)设置为透明(Translucent)类型,光照模式(Shading Model)设置为无光(Unlit),最后勾选材质双面显示(Two Sided),如图3-69所示。

图3-67

图3-68

图3-69

如图3-70所示,在编辑窗口中建立两个Mask(快捷键Shift+C)表达式,每个Mask表达式左侧连接一个TexCoord(快捷键U)纹理坐标表达式,Mask表达式属性窗口中仅勾选G通道,打开Mask的预览看到现在表达式是黑白渐变形态。

将其中一个Mask表达式连接到Oneminus(1-x,快捷键O)颜色反向表达式,使渐变方向反转。将两个渐变结果连接到乘法表达式进行计算,得到的结果是中间亮,上下两边黑的渐变纹理。

由于材质是给粒子使用,所以这里必须添加Particle Color(粒子颜色)表达式。如果没有这个表达式,就无法对粒子颜色和透明度进行调整。

将乘法结果得到的渐变纹理与粒子颜色表达式Alpha通道进行乘法运算,结果输出到材质Opacity透明通道。

建立一个一维常量并赋值为1,与粒子颜色表达式的RGB通道进行相乘,结果连接到材质自发光Emissive Color通道。单击工具栏Apply按钮应用材质,完成这个纹理的制作。

图3-70

回到粒子系统编辑窗口,选中粒子发射器Required模块,在属性窗口的Material材质栏将刚才作好的材质选中,现在可以看见光束纹理变成了刚才制作的渐变材质了,如图3-71所示。

此时渐变线条在预览窗口中一闪一闪,这是粒子在发射光束。由于粒子生命周期中不断地生成与消亡,因此现在看到的预览效果是粒子在不断闪动。

图3-71

我们将粒子的生存时间模块禁用。鼠标单击模块栏 右侧灰色的对勾图标,将它改为小红叉 状态将这个模块禁用,现在就看不到线条闪烁了。接着将Spawn粒子生成模块和Start Velocity基础速度模块同样禁用。这里不需要这两个模块控制粒子生成与速度,节约资源。

在发射器中选中Beam Data模块,在属性窗口中调整Beam Method光束类型为Distance距离类型,光束沿X轴延伸;Speed数值设置为0,光束瞬间发射到目标点;将Distance数值改为500或1000,这个属性用于调整光束的长度,如图3-72所示。

调整完光束的长度与速度,再来调整一下光束的宽度。如图3-73所示,选择发射器Start Size基础尺寸模块,将Start Size数据输入类型改为固定常量类型,在Constant属性中,把X、Y、Z轴的数值全部统一设置为5,会看见光束变细了。如果需要加粗光束,把数值加大即可。

图3-72

图3-73

再来改变光束的颜色与亮度,选中Color Over Life生命颜色模块,颜色部分数据输入类型设置为固定常量类型。

打开Constant常量颜色的R、G、B通道,如图3-74所示,案例中设置R通道数值为100,G通道数值为10,B通道数值归零,现在预览窗口中的光束颜色变成了如图3-75所示的金色并有外发光。

图3-74

图3-75

调整好光束的颜色与体积,我们来给粒子发射器添加一个Noise噪波模块,让这条光束动起来。

如图3-76所示,鼠标右键单击发射器模块区域空白位置,打开模块菜单,找到Beam类型中的Noise模块并添加到粒子发射器中。

图3-76

如图3-77所示,在Noise模块属性窗口中勾选Low Freq Enable,启用低频噪波,不勾选这个选项是不会看到任何动态的。

图3-77

将噪波顶点数值的上限与下限属性数值分别设置为20和1,使噪波频率在这两个数值之间随机切换。

打开Noise Range属性栏,将它的数据输入类型改为限制数据类型(VectorUniform),最大位移坐标Max栏X、Y、Z轴的数值全部设置为20,最小位移坐标Min栏X、Y、Z轴的数值全部设置为-20。如图3-78所示,现在预览窗口中粒子光束以电流的形态在跳动了。

图3-78

了解了Beam Data的基本使用方法,接下来制作一个进阶案例,使用粒子Beam类型光束连接两个物体,在两个物体中间生成跳动的电流。

如图3-79所示,使用两个球体作为Beam光束的发射点与接收点,无论怎么移动这两个小球的位置,它们中间的光束连接都会一直存在。

图3-79

使用刚才的Beam光束为基础,在此之上做一些属性修改便能达到图3-79的效果了。

案例中使用的是两个球形Actor物体作为发射点与接收点,达成源点Source与目标点Target这两个条件。由于需要光束在两个目标物体之间产生,所以光束的属性也要有所变化。

打开之前案例Beam Data粒子系统的编辑窗口,选中粒子发射器模块区域的Beam Data模块,在左侧属性窗口中将Beam Method类型改为Target目标类型,如图3-80所示。

图3-80

在粒子发射器模块中空白位置单击鼠标右键,在弹出的模块菜单中,在Beam Data类型中选择Source与Target,将这两个模块添加到发射器中,如图3-81所示。

图3-81

回到虚幻4的主面板,在Modes创建面板Basic基础类型中选择Sphere,单击鼠标左键拖出两个Sphere球体到编辑窗口中,如图3-82所示。

在编辑窗口右上World Outliner物体选择面板中可以看到添加的两个球体名字分别为Sphere与Sphere2,类型是Static Mesh Actor静态模型类型,如图3-83所示。

打开Beam粒子编辑器窗口,单击粒子发射器中的Source模块,属性窗口中Source Method发射源类型改为Actor类型,发射源名称栏填写Sphere,如图3-84所示,这是场景中一个球体的名字。

图3-82

图3-83

图3-84

选中粒子发射器中的Target模块,在属性窗口中将Target Method类型改为Actor类型,目标名称Target Name栏中填写Sphere2,如图3-85所示,这是场景中另一个球体的名字。

图3-85

粒子系统预览窗口中的粒子形态现在是没有任何意义的,我们能够看到的只是一团乱麻的状态,如图3-86所示。在粒子预览窗口中找不到发射源与接收目标物体,所以粒子光束现在只是以一个动态点(Point)的形态出现。

如图3-87所示,回到引擎主面板,把刚才调整好的Beam粒子系统从资源浏览窗口拖到引擎场景窗口中,现在的粒子状态仍然是一团乱麻,还没有设定目标与发射源。

如图3-88所示,在World Outliner面板中选择Beam粒子系统,在下面的Details属性窗口中单击Instance Parameters关联物体后面的“+”号按钮两次,添加两个关联物体。

图3-86

图3-87

图3-88

如图3-89所示,添加两个关联物体,接下来要选择关联物体的名称与类型。案例中0号节点物体名称填写Sphere,物体Param Type类型设置为Actor类型,球体的物体是静态Actor类型。一定不要把物体类型弄错。

在1号节点物体名称Name栏填写Sphere2,这是另一个球体的名字,Param Type类型设置为Actor类型。如图3-90所示,这个时候在场景中两个球体中间已经出现粒子光束了,任意移动两个球体位置都不会打断粒子光束的联系。

图3-89

图3-90 7vRylihx+VCnlQsz4HNzbRZvWkTUbYQob63NBZge7+HMHwzhkmGncsfH2i6v+ySf

点击中间区域
呼出菜单
上一章
目录
下一章
×