欢迎光临散文网 会员登陆 & 注册

UE5 Niagara | 官方小案例练习1.5 动态控制粒子颜色

2021-07-14 20:58 作者:那个人真狗  | 我要投稿

目标:瞬间变量的学习认识

变量类型 (因为粒子是根据生命值运动的,比如颜色在不同时间显示不一样的颜色,所以是变量)

  • 一种是全局变量

    整个粒子系统都可以使用的变量,称之为全局变量, 比如 系统属性的变量就属于全局变量

  • 一种是瞬间变量

    是指在当前发射器下的变量,这个变量只能在这个发射器使用,

问题:这俩种变量有什么区别吗?

  • 全局变量会比瞬间变量更费,

制作粒子根据距离改变颜色

创建瞬间变量(Transient variables)

  • 默认创建变量 ——变更命名空间—-设置临时

  • 在临时阶段就有这个变量了,

注意

  • 全局变量和临时变量的区别,临时变量前面会变成紫色

简单理解:这俩个区别 就类似   ,一个是全局变量,一个是局部变量,


制作思路

  • 创建一个临时变量,代表当前和发射器原点的距离。 用这个变量改变颜色大小曲线。

    简单说就是使用这个变量,控制粒子在(0的时候是一种颜色。1的时候另一种颜色)如果这个变量在0到1变化,颜色也会改变

创建粒子的发射

  • 创建粒子系统——-命名eif_1_5

  • 增加粒子生成模块 SpawnRate 每秒生成30

  • 粒子生成模块 增加一个球体发射器(sphere Location)

  • 设置 球体范围300

  • 修改一些粒子的基础设置

  • 设置默认大小随机值 给一个颜色,生命周改成一个范围值(0-1)


  • 粒子生成模块——-点添加速度(Add Velocity from Point)模块。

  • 粒子会向外扩散,这个力的作用就是实现粒子向外发射。

  • 设置点速度范围值RandomRange Float( 10 , 100),这样就可以实现快慢的效果。

  • 选择粒子更新阶段  ——-增加点吸引力(Point Attraction Force) 模块

设置点吸引力模块数值

  • 吸引力强度(Attraction Strength)    

  • 吸引力半径(Attraction Radius)    

        这里设置范围大一点,强度也大一点。    


效果

现在的粒子会前扩散,在到一定位置向内移动。


创建关联瞬间变量

  • 创建一个瞬间变量 这一步前面介绍到了。

  • 命名NormalizedDistanceFromCenter 缩减 (NOFC)

  • 把这个变量拖到粒子更新阶段

设置NOFC的类型为 标准化距离范围(Normalize Distance Range)

  • 设置开始位置(Start Position)  粒子的位置

注意: 这里使用的是下面动态的位置,不是初始位置 

  • 结束位置(EndPosition)设置 粒子模拟的位置

  • 设置变化距离(Distance) 为300

变化状态已经关联完,

应用使用瞬间变量

  • 粒子更新阶段 —-创建颜色(Color)模块  —-设置颜色 线性插值颜色(Lerp Linear Color)

设置颜色线性插值,表示俩个颜色的变化。


扩展 :线性插值(Lerp)

在材质里经常使用到插值(Lerp)


表示A的输入一个数值    B在输入一个数值,根据Alpha的权重输出结果。

示例

  • Alpha  = 0  就输出   红色         Alpha  = 1 输出蓝色


本课核心

  • 这里线性插值颜色(Lerp Linear Color) 就是俩个颜色 根据LerpFactor   权重改变。

    设置 颜色,插值LerpFactor  设置成我们创建的NOFC变量

效果

这一步是根据我们创建的变量,进行颜色插值变化,

  • 在设置粒子的大小变化,

  • 选择 粒子更新阶段 ——-缩放精灵大小(Scale Sprite Size)模块。


  • 设置变化的类型 Vector 2DFrom Flout  

这里为什么是Vector 2DFrom Float类型

  • 是因为我们默认的大小,粒子是有X 和 Y俩个方向,设置这个变量的意思是,把XY合并成一个,

简单理解是等比缩放。

注意:原来我们都是设置曲线类型,这次是设置向量浮点类型


  • 设置这个变量为 浮点数插值(Lerp Float)

  • 这一步和上面类型  设置一个最小值,一个最大值,根据我们的NOFC插值变化

效果

完成

实现官方效果。


总结

  • 对全局变量和瞬间变量认识,就相当于是一个局部变量一个全局变量

  • 瞬间变量 的绑定数值逻辑更深的认知,他们关联性,使用粒子的位置和动态位置生成变量。

  • lerp的使用,这次使用了,俩个线插值,一个是颜色线性插值(Lerp Linear Color)一个是浮点数插值(Lerp Float)


参考

https://www.cyanhall.com/cn/tutorial/5.blend-attributes-by-value/


UE5 Niagara | 官方小案例练习1.5 动态控制粒子颜色的评论 (共 条)

分享到微博请遵守国家法律