目录
效果
步骤
一、创建材质
二、创建渲染目标
三、使用蓝图将材质绘制到渲染目标
四、创建Niagara系统
4.1 设置网格体类型粒子
4.2 创建网格体粒子的材质
4.3 设置粒子初始颜色
4.4 设置粒子大小变化
效果

步骤
一、创建材质
1. 我们想要一个圆环的材质,先新建一个材质,这里命名为“M_SimpleRing”

打开“M_SimpleRing”,设置着色模型为“无光照”

在材质图表中添加一个“RadialGradientExponential”节点,该节点预览效果如下

我们可以通过该节点,让一个大圆减去一个小圆就可以得到一个圆环。首先通过设置引脚“Density”的值来使得圆的边界更清晰

在材质图表中复制一份上图中的三个节点,设置新圆的半径为0.37。将两个圆相减得到圆环的效果

二、创建渲染目标
2. 新建一个渲染目标

这里命名为“RT_SimpleRing”

打开“RT_SimpleRing”,首先通过设置尺寸来设置纹理的分辨率,这里设置为512x512

渲染目标格式设置为“RTF RGBA8 SRGB”

三、使用蓝图将材质绘制到渲染目标
3. 创建一个Actor蓝图,这里命名为“BP_TextureBaker”

打开“BP_TextureBaker”,添加一个函数,命名为“BakeTexture”

创建两个变量如下



在函数“BakeTexture”中添加如下节点

设置函数“BakeTexture”为编辑器中调用

4. 将蓝图“BP_TextureBaker”拖入场景中

点击执行“Bake Texture”函数

此时可以看到材质“M_SimpleRing”已经绘制到渲染目标“RT_SimpleRing”

4. 回到蓝图“BP_TextureBaker”的函数“BakeTexture”中,添加如下节点来对渲染目标创建静态纹理

再次执行函数“BakeTexture”,可以看到我们创建了静态纹理“TextureFromRenderTarget”

重命名为“T_SimpleRing”

5. 打开静态纹理“T_SimpleRing”,勾选“无透明度压缩”来禁用Alpha通道

四、创建Niagara系统
6. 新建Niagara系统


命名为“NS_SimpleRing”

4.1 设置网格体类型粒子
打开“NS_SimpleRing”,删除“Sprite渲染器”模块

添加“网格体渲染器”模块

网格体选择上一篇文章中(【UE Niagara 网格体粒子系列】02-自定义网格)创建的网格体“SM_PlaneFaceCamera”,勾选“启用材质重载”,可以看到现在我们需要创建一个材质实例

4.2 创建网格体粒子的材质
7. 对材质“M_SingleText_Master_Additive”创建材质实例(见【UE Niagara】浮动的蒲公英)

命名为“M_SimpleRing_Additive_Inst”

打开“M_SimpleRing_Additive_Inst”,设置“MainTexture”为“T_SimpleRing”

8. 回到“NS_SimpleRing”,设置网格体材质为材质实例“M_SimpleRing_Additive_Inst”

选中“Emitter State”模块,设置“Loop Behavior”为“Infinite”

4.3 设置粒子初始颜色
选中“Initialize Particle”模块,设置粒子的初始颜色

4.4 设置粒子大小变化
添加“Scale Mesh Size”模块,此时会发现网格体粒子消失,这需要我们在“Initialize Particle”模块中设置“Mesh Scale Mode”为“Uniform”


在“Scale Mesh Size”模块中设置网格体粒子大小的变化

此时效果如下




















