(基于阿发教程做的重点笔记)
粒子
用于模拟一些流动的,没有形状的物质,例如 液体,烟雾,火焰,爆炸,魔法等效果
去除粒子外框
particle system 粒子发生器,有1个主模块和22个子模块,默认启用
Emission发射的频率 /Shape 粒子发生器的形状 /Renderer 粒子的显示
还可以启用size over Lifetime ,鼠标长停留有详细注释
(实操)透明贴图变成粒子材质方法:
1.导入之后,勾选,然后apply
2.添加新粒子材质,着色器可以如下选择
然后把贴图托进去,进行替换即可
粒子的形状
本质是创建了无数小纸片,帮我们控制粒子的运动,而且就像广告牌一样,无论从哪个角度观察永远面对观察者,使用着色器和贴图,黑底比较好去除,使用透明或黑的好
粒子着色器的细节
additive multiply
主模块下的参数为基础参数:
两种常用设置:固定值和随机区间范围
周期和时长设置
模拟空间 ,其中的粒子系统要负责每一个粒子的坐标,速度,旋转,颜色,大小
发射模块Emission
匀速发射或者爆发式发射,匀速发射的两种方式:
时间匀速和距离匀速(rate over time) (rate over distance),也可以作为粒子数量计算的考虑
粒子数量上限:max particles 默认1000,超过上限会停止产生,防止系统过载。
一般设置为1 或者概率值
一次爆炸大概0.1-0.2秒瞬间发生。(速度变慢,尺寸变小,颜色变淡)
粒子发射器形状
shape模块,发射器的形状,有立体有平面,
cone(圆锥形)
同理还有 box盒型发射器,sphere 球形发射器, circle 圆形发射器, 无形状发射器(粒子从轴心点发射向着Z轴方向),多进行实操的时候理解
颜色渐变(color over lifetime) 渐变器编辑器(gradient editor)alpha 渐入渐出效果(控制透明度渐变,淡入淡出,时隐时现) 最多添加八个控制点 ,注意颜色是做乘法的运算得到最终结果
大小渐变 size over lifetime 粒子材质 粒子大小 在粒子生命周期内会变大变小 横坐标,lifetime 纵坐标 size 曲线的编辑:贝塞尔曲线 通过控制点定义形状 constant 恒定值
粒子速度控制
velocity over lifetime(linear x/y/z ) space(world/ local) 加速/变速运动 curve x/y/z
粒子环绕, 环绕速度,与shape模块配合使用,初始速度设置为0
velocity over lifetime :所有粒子绕着Z轴,轨道速度进行旋转,边绕行边扩大,注意有些形状初始速度为0会有影响。
速度叠加,V= start Speed + Velocity over lifetime 两者的矢量之和,初速度在发射时设置,并恒定。
linear z轴 是-2,向上运动,粒子会先向上运动再向下,speed modifier 是进一步的调节速度
速度如何叠加计算
粒子的受力 ,粒子在力的作用下也可以改变运动速度
force over lifetime (直接添加作用力,受力可以通过牛顿定律计算,但是粒子系统的力和物理世界的力没有关系,只是计算的模拟)
粒子以加速度下降
limit velocity over lifetime drag参数最重要,力的衰减 摩擦阻力
噪声模块,来自于介质的扰动,也可以说是噪波
strength 强度,空气扰动力量多大
frequency 频率,多长时间扰动
旋转 start rotation,默认情况下绕着Z轴旋转,也可以在3D空间中旋转
rotation over lifetime 每秒转多少度【角速度】
粒子的朝向
如何旋转,调整 render mod,想要让每个粒子的飞行方向和它的头部指向一致的时候:
第一步:切换渲染方式,到Stretched Billboard将长宽比设置为1
第二步:修改粒子的贴图,使得头的方向朝左
Stretched Billboard(拉伸广告牌),可以拉伸显示 length scale(长宽2:1)
计算公式得到最终拉伸比例speedscale一般是小数值,相乘结果表示的就是视觉残影,例如火星飞溅等情况,就是利用了视觉残影
制作爆炸效果,粒子小,生命周期短,速度快,思路步骤如下:
horizontal billboard 水平广告牌,
要注意背面会不会被着色,否则从下往上看不到,可以在shader中的
进行设置 two size背面也着色
注意要记得prewarm
拖尾效果 Trails
粒子后面长长的小尾巴,例如烟花绽放 拖尾需要两个材质,一个开始,一个尾巴,尾部不要设置太多数量,trail中设置0-1 start lifetime = 5 秒 trail lifetime =0.1
长度是时间长度的定义
宽度参数是width over trail 一般都用曲线来定义宽度
拖尾也可以是弯的,根据粒子的运动轨迹进行
拖尾的颜色 根据AB共同影响,粒子颜色
粒子动画
使用模块,tiles可以切割大图进行播放
可以分割贴图,并挨个显示图片,达到动图效果,*.tif是静态图片,只用一个粒子,渲染64帧图片
一些细节,例如1是指HDR可以调节
制作烛火效果步骤:
粒子与光照
粒子着色器比较特殊,无光照条件下也是一样的,不受光照影响(把光照的X值调到负数就会得到黑暗环境)照亮周围可以在粒子上添加点光源
可以在添加light模块,在粒子系统里添加点光源,选择预制体或者实例,
并不是所有粒子都携带了光源,那样性能损耗太大
爆炸效果
小技巧:不知道该怎么管理的时候可以挂一个空的父节点进行管理
是一个典型的粒子组合效果,爆发式的特点,速度快,时间短,思路步骤如下:
1.制作两种爆炸粒子,圆形和拉长效果的圆形粒子
2.圆形粒子,生命周期改短,速度快,初始大小改小,
3.添加velocity over lifetime 曲线修改向下曲线,让粒子往下走
4.修改粒子颜色如之前一样,变化
5.在粒子下添加火花子节点,替换粒子材质,爆发式的发射,球形发射,粒子大小随机值,速度变大,生命周期比前面的还短,速度因子velocity over lifetime,曲线调整,颜色淡入淡出变化
6.在粒子下再添加闪光子节点粒子效果,创建并加入材质
7.改成爆发式发射,一两个闪光即可,shape球形,半径值0.1,不需要速度,大小变大
8.size over lifetime 曲线从小到大,生命期改短,颜色渐变,淡入淡出(一般都需要),颜色变化
二级发射器
记得使用burst发射,最好作为子节点 sub emiters
爆发概率
小练习 烟花绽放效果
1.爆发式粒子效果,拖尾模块,噪声干扰,颜色设置,
2.二级粒子球形发射器,半径小,爆发式发射,速度快,生命短,重力下落
3.一级粒子下面sub emitters发射器,一级死亡产生二级,二级和一级颜色一致,继承inherited
粒子的碰撞
collision模块,落地弹起,推荐使用平面方式进行
物体之间碰撞就是碰撞体
使用world时候可以使用层来细化要碰撞的目标,尽量减少碰撞,物理系统下的层的概念。在unity进阶中有
粒子碰撞事件,当发生碰撞时可以使用脚本,事件函数无法预览,只有运行才可以
小练习:飞船和粒子传送阵
粒子效果分为循环播放,例如飞船尾焰,也有一次性使用的,例如碰撞