详解Unity中的粒子系统Particle System (六)

前言

今天写粒子系统的第六篇文章,讲到这,一些主要模块其实已经讲完了,剩下的就是一些无关紧要或者更加高级的模块了,比如涉及到物理碰撞模块的,涉及到光照系统模块的等等。今天先把剩余无关紧要的模块给讲了,涉及到9个模块,虽然看起来很唬人,但是这些模块很多只有一两个属性。这一堆模块主要用于控制粒子在发射出去之后的速度,方向,大小,颜色等等的变化。下面就开始吧 (ง •_•)ง

本系列提要

Unity粒子系统专题博客共分成十二篇来讲解: 【本篇为第五篇】

前排提醒:本文仅代表个人观点,以供交流学习,若有不同意见请评论留言,笔者一定好好学习,天天向上。

Unity版本[2019.4.10f1] 梦小天幼 & 禁止转载

视频讲解:
【详解Unity】粒子系统(六) | Particle System | 生命周期相关模块讲解 | 哔哩哔哩


一、Velocity over Lifetime

控制粒子在其生命周期内的速度
在这里插入图片描述

Linear X,Y,Z 粒子在X、Y和Z轴的线性速度

Space 指定线性速度参照的坐标空间 | Local、World(仅对Linear生效)

Orbital X,Y,Z 粒子绕某个轴旋转的轨道速度

Offset X,Y,Z 粒子所绕旋转轴的偏移量

Radial 粒子远离/朝向中心位置的径向速度

Speed Modifier 对上述参数乘以一个量值

模块说明: 对于上述参数的合理应用可以做出很炫的效果,比如漩涡,轮回圈,螺纹,螺旋攻击波等,主要是修改Linear用以指定方向,修改Orbital用于使粒子绕着某轴向旋转。记得在主模块把初始速度设为0,这样更加方便参数计算修改。

下图是一个螺旋形状的粒子。
在这里插入图片描述


二、Limit Velocity over Lifetime

控制粒子的速度在其生命周期内如何降低
在这里插入图片描述

Separate Axes 按照XYZ轴来分别设置限速值

Speed 粒子在其生命周期内的最大速度限制,若超过该值,则通过Dampen对速度降低

Space 参照局部空间还是世界空间,启用Separate Axes时,此选项生效

Dampen 当粒子速度超过速度限制时,会通过Dampen以一定比例衰减速度直到达到Speed设定的值

Drag 对粒子速度施加线性阻力(模拟空气阻力),作用于全局的,不受上面参数影响

Multiply by Size 启用此属性后,较大的粒子会更大程度上受到阻力系数的影响

Multiply by Velocity 启用此属性后,较快的粒子会更大程度上受到阻力系数的影响

模块说明: 该模块本质上和Velocity over Lifetime是相对的,一个是控制速度,一个是限制速度。很少有在一起使用的场景。该模块的主要使用场景是爆炸(粒子初始速度很高,然后逐渐减弱到一个均值下落速度)、子弹、炮弹等等

下图是一个爆炸演示粒子,用到了Emission的波次,Shape的发射形状和方向,主模块的初始化设置,以及当前模块在生命周期内的速度限制(可能不是很明显…)
在这里插入图片描述


三、Force over Lifetime

力对粒子在生命周期内的影响
在这里插入图片描述

X,Y,Z 按照XYZ轴施加力到每个粒子上

Space 参照坐标系

Randomize 使用 Two Constants 或 Two Curves 模式时,该属性生效;
此属性会导致在每个帧上在定义的范围内选择新的作用力方向,因此会产生更动荡、更不稳定的运动。


四、Color over Lifetime

生命周期内颜色对粒子的影响
在这里插入图片描述

Color 用于设置粒子在其生命周期内的颜色

点击颜色部分会弹出一个颜色编辑窗口,在这里可以编辑颜色,长条代表粒子颜色在其生命周期内的变化
在这里插入图片描述


五、Color by Speed

让粒子的颜色随着速度的变化而变化
在这里插入图片描述

Color 颜色渐变

Speed Range 将颜色渐变映射到速度范围的上限和下限

Speed Range的数值0代表白色,1代表绿色,根据上图这个数据,那么粒子的颜色就是刚发射是白色,然后变成绿色(为了方便理解,建议把主模块的StartSpeed设为0)
在这里插入图片描述


六、Size over Lifetime

控制粒子在其生命周期内的大小
在这里插入图片描述

Separate Axes 是否在每个轴向独立控制

Size 通过一条曲线来定义粒子在其生命周期内的大小

这个模块更好理解,就一个参数,粒子的大小会按照曲线在其生命周期内的变化而变化,比如下图,粒子从出生到消亡,Size是越来越小。
在这里插入图片描述

曲线设置如下(X轴将粒子生命周期归一化为1,Y轴将粒子的Size归一化为1)
在这里插入图片描述


七、Size by Speed

让粒子的速度随着速度的变化而变化
在这里插入图片描述

Separate Axes 是否在每个轴向独立控制

Size 通过一条曲线来定义粒子大小如何随着速度变化而变化

Speed Range 速度范围的上限和下限

不多解释,整篇文章没啥难理解的参数。


八、Rotation over Lifetime

控制粒子在其生命周期内的旋转
在这里插入图片描述

Separate Axes 是否在每个轴向独立控制

Angular Velocity 旋转角速度

四个选项来控制,一般使用曲线来控制,注意,曲线的值来自预先设置的常量,比如上图中的45


九、Rotation by Speed

让粒子的角度随着速度的变化而变化
在这里插入图片描述

Separate Axes 是否在每个轴向独立控制

Angular Velocity 旋转角速度,根据速度区间设置

Speed Range 速度范围的上限和下限,只有在Angular Velocity选择了曲线或双曲线时该参数才能使用,因为角速度要是动态的该模块才有意义。

不多解释。


十、总结和参考资料

1.总结

无总结

2.参考资料

[1].Unity官方.官方手册-粒子系统

  • 19
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值