浅谈学习Niagara的一些心得(一)
不知道大家在刚学习Niagara的时候是否遇到过这些问题?看了十多个案例,只会跟着点点点,除了这个案例会,换个形式就不知道怎么做了,没办法举一反三,感觉找不到门路,和材质蓝图的感觉完全不同。如果大家有这样的感觉就说明你没有明白Niagara的内在逻辑。
Niagara的内在逻辑:系统生成与更新,发射器的生成与更新,粒子的生成与更新。这三个部分系统部分我们忽略,主讲发射器和粒子部分。
发射器是什么?发射器出生是你创建了一个水壶,发生器更新就是水壶该喷水了,喷出来的就是粒子,所以我们需要什么?是Spawn Rate这一类的控制粒子出生速率的模块。
在说粒子出生阶段之前,需要先说一下模块的运行逻辑,模块会遵循从上到下的顺序,同时它是粒子1走模块1-2-3,粒子2走模块1-2-3,粒子3走模块1-2-3这样的模式,根据粒子出生的先后顺序,粒子进入模块的时间也会不同,每一个粒子都会从上到下走完每一个模块。
粒子出生阶段:出生阶段需要定义粒子的初始状态,在你新建一个空的发射器的时候就可以看到会有一个inital particle,在这个里面你可以设置粒子的一些初始属性,例如Life,SpriteSize或或者rotation这些属性,在设置完这些之后就需要设置粒子的初始行为,那么spherelocation一类的模块就会加入进来,同时也可以加入Add Velocity in cone这类设置粒子初始速度的模块也可以添加进来,这样,一个粒子系统最基本的部分就搭建完成了。
粒子更新阶段:这个阶段是最重要的阶段,我们各种高级操作基本都是在这个阶段,因为这个阶段控制着粒子的更新,我们能在这个阶段通过NormaliezedAge去控制粒子尺寸和颜色,让烟雾贴图能从小到大,并且拥有一个渐变的颜色,也可以添加碰撞,模拟重力,自定义的ScratchPad新建的模块大多也放在这里。
最后额外讲讲发射器设置,CPU粒子要开启粒子事件的话,需要勾选Required ID,这个持久ID相当于给你的粒子按照出生顺序排号,这样系统就可以知道每个粒子的具体信息,这样才能在每个粒子触发时产生事件。如果开启GPU粒子则需要勾选Fixed Bound,因为GPU粒子必须有渲染边界,超出边界的粒子是不渲染的。如果你需要GPU模拟的话需要打开Enable Simulation Stage,然后就多了一个模拟模块,这个在EPIC官方流体模拟里有讲,我就不赘述了。