1.1.2.5Output Particle Quad上下文:
粒子系统最后一个上下文的作用是进行粒子的输出显示。如果我们把Update Particle上下文和Output Particle Quad上下文之间的链接断开,可以看到场景中的粒子将不再被渲染。
与初始化上下文一样,负责输出显示的上下文也有一部分固定的属性设置,比如Color Mapping,Uv Mode等。我们也可以添加如图-7所示的Orient: Face Camera Plane代码块,Set Size over Life代码块和Set Color over Life代码块。我们将会在后面的实例讲解中用到这些代码块。
1.3.5 可以看到,目前单独的火焰粒子太小,因此我们要先把它们的尺寸弄的大一些。我们可以在Output Particle Quad上下文中的Set Size over Life块中进行设置。如图-41所示,我们可以通过调整曲线来控制火焰粒子从生成到死亡的大小。
图- 41
不过,通过Set Size over Life来调整火焰粒子的大小时,我们只能控制粒子的整体大小,也就是说无法控制每个粒子在单个方向上的大小。
如果我们仔细看一下所用的Flame03_16x4这个纹理图集(如图-42所示),可以发现每个火焰动画关键帧的图片其实是Y轴方向比X轴方向要大。因此我们还要找到一个方法,把火焰粒子的Y轴方向放大。
1.4改进篝火效果:
我们在前面的步骤中完成了烟雾和火焰效果的制作,不过还有很多可以提升的地方。现在我们来一步一步的完成效果提升的工作。 1.4.1效果预热:第一个要做的事情是为整个粒子效果做“预热”。如果我们现在从头播放粒子效果,可以看到火焰和烟雾都是从无到有慢慢生成的,这显然不是我们想要的效果。我们想要让这些效果一开始就存在,而不是从零生成。
我们可以在Project窗口中选中需要预热的粒子效果,如图-55所示。然后在Inspector窗口中的Initial state(起始状态)中,把PreWarm Total Time(预热总时长)设置为5(秒),PreWarm Step Count(预热步数)设置为30(步)。
图- 55
完成上述设置以后,如果我们再到Visual Effect Graph按F5键刷新,可以看到Scene窗口的篝火效果不再从无到有生成了,而是会预先生成烟雾和火焰效果。 1.4.2改进火焰效果:
当前的火焰效果来自Flame03_16x4这张纹理图集中的火焰颜色,关键帧动画,外加后面再Set Color over Life块中增大的HDR Color的Intensity(强度)值。这让我们看到了发光的火焰动画效果。
不过,如果我们把Scene窗口的后处理效果和光照效果移除(如图-56所示),然后把Set Color over Life块中的Color参数中额外添加的红色与增大的HDR强度值设为0,可以看到因为火焰纹理图集的分辨率以及图集中关键帧图片本身的颜色影响,火焰看上去并不真实。而且在图- 中左侧Scene窗口中,可以看到火焰边缘因为没有在Color参数中添加额外的边缘红色,边缘消失时渐变成了灰色,整个火焰忽然变暗了。