粒子效果
从中心点向四周随机发散条带光线,每条光线上可以看到明显的粒子,可见条带是将粒子串联了起来,同时条带上有明显的波动,并且颜色与距离中心点的距离有着明显的关系。
Niagara蓝图部分
这个蓝图展示了Beam(光束?光线?条带?)的制作方法,本质上还是利用粒子,在生成每个粒子时,给定一个RibbonID,然后根据这个值去将粒子进行串联然后渲染条带(Ribbon)
效果实现分析
那么条带是怎么生成的呢?前面介绍过一个模块——Spawn Burst Instantaneous,可以瞬间生成一定数目的粒子。而Emitter Update里另外一个模块Beam Emitter Setup是用来做Beam的基本配置的,主要是初始点,然后结束的点。
在Particle Spawn部分,利用Spawn Beam构建粒子顺序(分配RibbonID)。
而Beam Width自然而然,负责调控Beam的粗细,这里的横坐标使用了Particle.RibbonLinkOrder。即同样的RibbonID粒子会被串联,被串联的粒子上都有一个RibbonLinkOrder去记录其在Ribbon上的位置顺序,然后分配一个宽度去渲染。
这个属性还可以用来去影响每个粒子的颜色。最后应用Ribbon Renderer去将Beam渲染出来。
回到题目Static Beam,是说Beam是不会去每帧更新RibbonID 和RibbonLinkOrder,即从而每次生成了条带和相应的粒子后,其上的相应属性不再更新。另外这个“静态”,也是指其Beam的Start Point 和End Point不会去每帧刷新(在Beam Emitter Setup里),即如果实时交互更改的话,这里并不会在已生成粒子及条带上发生变化。
总结
Ribbon Renderer(条带渲染器)也是一个很重要的渲染器,可以用来做一些带子的效果,或者是运动轨迹、拖尾之类的特效。从本例中可以看出,掌握其的要点在于几个关键属性(RibbonID 和RibbonLinkOrder)的分配。