UE4 Niagara扩散环效果及参数化配置(数字孪生用)

本文章用于记录博主本人Niagara扩散效果的实现步骤,也供大家学习使用,欢迎转载
实现效果如下图所示:实现一个水波动态纹扩散效果
在这里插入图片描述
并且要实现一定的通用和可配置性,所以设计了三个可控参数:颜色、呼吸速度、环数
在这里插入图片描述

Create Shader

首先我们需要下图这样的环状透明模式的材质,并可以设置发光颜色和强度
在这里插入图片描述
我们用UE4自带的一些环状MaskFunction不难实现,实现思路如下:
在这里插入图片描述

Create Niagara Emitter

Create an Empty Emitter

在资源中右键,在FX文件夹中选择Emitter,创建一个Empty Emitter类型
在这里插入图片描述

Emitter Setting

勾选LocalSpace:目的是让粒子系统的缩放受场景缩放控制
在这里插入图片描述

Emitter Update

增加一个SpawnRate组件。
在User Exposed中增加三个变量:Float;Vextor;Int各一个,分别命名为SpawnRate;Color;Amount,他们在后面分别代表波动速度、颜色、同一时间出现的环数。
在这里插入图片描述
在SpawnRate数值后面点击倒三角,选择成MultiplyFloatbyInt并分别设置上上面的两个变量
在这里插入图片描述

Particle Spawn

在InitializeParticle组件中,将MeshAttributes中设置成固定缩放,值为1(该设置修改注解:此设置将作为粒子生成的时的基础缩放值存在,后续在粒子更新中的缩放都是基于这个的基础上再进行缩放的,;如果用默认设置,则在后续步骤中添加MeshRenderer后预览窗口就看不到任何模型
在这里插入图片描述
在InitializeParticle组件中,将LifeTime设置成DivideFloat,用1除以SpawnRate
在这里插入图片描述

Particle Update

增加一个scale Color组件
在这里插入图片描述
将其ScaleRGB变量指定为上面定义的RingColor
在这里插入图片描述
将ScaleAlpha设置成FloatFromCurve,设置0点值为1,1点值为0。并将CurveIndex设置成MultiplyFloat,将age和SpawnRate相乘(是age,不是NormalizedAge,设置成后者会出现扩散后暂停等待粒子死亡的问题
在这里插入图片描述

增加Scale Mesh Size组件
在这里插入图片描述
按照下图对其进行配置
在这里插入图片描述

Render

Sprite Renderer组件,添加Mesh Renderer组件:设置模型为系统的plane,材质设置为前面创建的材质的材质实例
在这里插入图片描述

Create BluePrint Actor

给前面创建的Emitter创建一个NiagaraSystem,并将System添加进蓝图中,并创建下图所示Function
在这里插入图片描述
并将此Function连接在构建脚本上,暴露出相应参数,然后就可以拖入场景尽情配置啦
在这里插入图片描述在这里插入图片描述

  • 5
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值