在上一篇文章中,我们已经完成了单个爆破纹理的着色器设计,得到了一个随着噪波纹理的W值不断变化的火焰纹理。而且我们还使用空对象作为补偿,实现了复制多个爆破纹理而没有火焰纹理重复的目的。接下来,我们需要利用这些特性,结合粒子系统的参数设置,模拟出完整的爆破视觉效果。步骤1:设置粒子系统
首先构建一个新的角球,它是发散粒子系统的最佳来源,因为它所有的点、线、面都有不同的法线方向,与经纬球相比,不存在点在两极被挤压的问题,顶点数量不多,对硬件系统要求低,粒子发射效果最好。因此,可以选择角球作为类似粒子系统制造要求的来源。因为爆破效果是从地面向上的,我们只需要角球的上半部分,同时沿Z轴向内放大角球,放在背景布上,最终获得如图1所示的效果。
然后我们给角球加上粒子效应。在这个步骤中,需要调整粒子系统的许多参数,以达到满意的效果。首先,如图2所示,我们需要将启动次数从默认的1000次减少到大约50次。注意,粒子系统的大部分参数都可以在本教程设计的值上自由浮动,你可以找到自己满意的视觉效果。
然后我们要把开始帧和结束点都设为1,因为火焰在第一时间同时爆发,生命周期需要完全覆盖整个时间轴。例如,如果本教程是100帧,那么生命周期可以设置为100帧以上。当然也可以在生命周期中加入随机性,但是建议随机性不要设置的太高,否则效果的可靠性会变差。
如果此时播放视频,你会发现所有的粒子都是落下来的,而不是喷发出来的。这是因为引力场中的重力在起作用。我们需要将重力值调整为0,然后就可以看到粒子沿着法线方向正确爆发。
但这时,新的问题接踵而至:粒子总会跑起来,但现实中的爆炸效应,火焰运行一小段时间后就会停止,最终变成烟雾。所以这时候我们需要在粒子系统的物理选项卡中调整力场的“阻尼”值。该值旨在停止粒子的运动,可以设置为0.1。这时,我们可以通过再次播放视频,看到粒子在喷发一段时间后慢慢停止。但是粒子爆发的距离似乎太近了。不要惊慌。让我们回到粒子系统顶部的速度选项卡,将正常速度调整为2m/s,粒子喷发的距离会相应增加。此时,只需调节阻尼和正常速度,就能达到如图3所示的效果。粒子系统的具体参数设置参见图4。
然后,我们将渲染选项卡中的“渲染为”设置为上一期制作的火焰纹理。这时候记得勾选对象旋转选项,然后播放视频。你会发现火焰纹理是由粒子系统爆发出来的,我们的第一个设计就完成了。第二步:设置关键帧,添加火花粒子系统。
目前我们的爆破视觉效果还存在几个问题:颗粒大小不变;火焰纹理不变;缺少火花等细节。接下来,我们将逐步解决这些问题。第一,颗粒大小。刚开始爆破时,颗粒尺寸应该很小,但完全爆炸后会恢复到较大的尺寸。因此,我们需要回到粒子系统,将渲染缩放设置为0.01并在第一帧关键帧,然后在第25帧将其更改为1,然后关键帧。此时播放视频时,火焰纹理的变化显然更合理。
然后回到火焰纹理,我们想让火焰纹理在爆破开始时高亮显示,在爆破中后期逐渐转化为烟雾效果,这也是为什么我们在最后一段为火焰纹理设置了多个“贴图范围”的原因。找到如图5所示的“映射范围”模块,在爆破开始时将“从最大值”设置为0.2。此时火焰纹理很亮,然后在第40帧左右设置为0.65。此时火焰纹理处于正常燃烧状态,边缘开始出现烟雾。在最后一帧,它被设置为10。这时候应该只剩下黑烟效果了。设定完成后会回放视频,符合爆破的视觉逻辑。
这时候我们还需要加上爆破产生的火花效果。基本逻辑还是和之前的粒子系统一样,只是这次的渲染目标是一个低顶点数的角球。同时,记得为这个有角的球设置一个类似火花的发光着色器。然后为爆源也就是第一个角球构建一个新的粒子系统,参考火焰纹理的设置调整参数,达到如图6所示的效果。这一步留给大家自由发挥。本章摘要
评论列表()