粒子效果
整体上看,像是卫星在绕着行星运动。可见的,粒子由三部分构成——精灵图片Sprite(绿色圆片),网格体(红色箭头),以及拖尾(蓝色条带)。箭头指向运动方向(速度方向),拖尾似乎又不完全代表粒子的轨迹,说是动态轨迹(似乎是运动的参考轴之类的在发生动态变化)似乎是更加合适,具体需要去到Niagara粒子蓝图中分析实现的方法。
Niagara蓝图部分
最显眼的要看渲染器部分,本例中将Sprite Renderer、Mesh Renderer和Ribbon Renderer同时进行了渲染,但是对其某些属性的调控需要单独去进行。当然,你也可以自定属性参数,去继承原先的这些属性甚至于重写这些属性参数。
效果实现分析
初始化部分,Initialize Particle里,Point Attributes的部分,即设定了粒子的一些初始属性,这些属性可以被所有渲染器继承使用,或者是重写。比如说Color属性,这里设定为偏绿色的某种颜色,但是渲染出来的结果里,只有Sprite Renderer呈现绿色,而Ribbon和Mesh都是各自的颜色:Ribbon是通过RibbonColor这一属性,对颜色进行了重写(RibbonWidth负责调控宽度);Mesh的话,我们需要进入到Mesh的材质中一探究竟。
其中Particle Color负责从粒子系统中拿到粒子的颜色,然后以粒子的Alpha值做为插值的Alpha值,即当Alpha值为0时,完全采用Particle的RGB值;为1时,完全采用下面那堆乱七八糟计算出来的值;其他情况用Alpha的值再进行两者间的线性插值计算。再回到粒子系统中。
将Alpha值设定为0,可见Mesh的颜色也随之改变。不过Sprite也随之变透明了…这是因为Sprite也有自己的材质。
可见,Sprite材质里的Alpha值也参与了Opacity的计算,从而影响了Sprite的透明度。
接下来是运动方面,前面提到的Ribbon的动态变动就是体现在下面两个Random上,我对涡流运动学掌握并不好,大概两者就是:Velocity Amount控制运动速度的值;而Velocity Axis控制运动所绕的轴的同时,也可以控制整体运动速度的缩放。
剩余一个点就是Mesh的运动方向。这是在渲染器里受到Facing Mode调控的。当然依据渲染器的不同,可选项也不同。
总结
本例主要是体现了渲染器的结合使用,以及其在属性绑定方面的相同之处和差别之处。总体来说,他们都会继承一些属性下来,可以直接使用,也可以灵活得自我调整以展现不同的效果,属性的强大之处也得以体现。