Niagara学习笔记一:使用Niagara画一张RT

画RT的方法有很多,在不自己使用代码额外添加Shader的情况下,使用UE画RT大致有两种方法:DrawMaterial和使用粒子。
使用粒子画RT有几个好处:能精准控制所画RT的像素、可以画3D纹理、可以使用粒子的调试工具可能调试更方便等。
接下来,我们使用粒子来画一张RT:

1、创建一个粒子

我们首先创建一个几乎为空的粒子

然后再在Emitter的变量中创建RT相关的变量并且赋值

这里有一点要注意,Render Target的DataInterface在勾选Inherit User Parameter Settings的时候,最好保证下面的Render Target User Parameter不为空,否则可能导致崩溃,如果运气不好还保存了这个粒子,那这个粒子可能一打开引擎就会崩溃ORZ(至少5.1.0的引擎会有这个问题).。

2、创建一个Simulation Stage

在粒子中画RT,我们是在Simulation Stage里实现的

这个Simulation Stage的设置我们要改一下,默认的Iteration Source是粒子类型,会导致你画RT对应的像素和粒子数量有关,实际上我们画RT很多时候可能并不想和粒子数量绑定

在UE5.2里面,Iteration Source还多了一个Direct Set可以直接设置x,y,z的次数,更加方便了(也更像在写Computer Shader了×)

3、画RT的脚本

新建一个画RT的脚本RT里面都画上红色

我们把之前的Emitter变量赋值给脚本,运行粒子看回我们的RT,RT已经是红色了。