简介: 最近再次翻阅官方文档时,看到了 粒子的 Velocity over lifetime 模块一些有意思的属性,在我老旧的4点几的文档脑库里是没有的。挺有意思研究一下。官方记载,此模块的 speed modifier 是在 2017.3 中加入的,而 OribitalXYZ 、OffsetXYZ 和 Radial 属性是在 2018.1 中加入的。我一个也不大经常做特效的人,对这些属性也只能算是从名字上有一些了解。调试一下看看啥效果。
unity版本: 6000.0.0b15
管线:URP
相关官方文档: 官网文档链接
Velocity over Lifetime 模块
unity 传统内置 particle system 的一个用于调整粒子速度的模块,Velocity 翻译成中文有:高速、快速、速率的意思。整个模块的意思就是在粒子生命周期内(从单个粒子被发射出来到消亡)可以调整粒子的速度。
属性
PartSysVelOverLifeInsp.png对于我来说基本等于重新认识整个模块,因为之前的属性很少,可能就没有这个模块(也可能我记忆错乱,毕竟我之前脑中系统的文档知识库是unity4点几的文档,太久远了)。
我们先做一个基本粒子,
他的生命为2
速度为1
发射器位置归0
发射器Z轴向上因为在不做特殊形状和朝向设置的情况下,粒子沿发射器Z轴射出
一个高2米的方形
一个高4米的方形 Z轴向上的基本实验环境
Linear
这个属性很简单,就是在指定的一个轴向上对速度进行叠加,这个我们可以通过设置一个轴向的速度变化来测试。我们给 Linear 的Z轴设置为1,可以看到粒子可以飘到的最远距离变成了4米,由此验证,这些值是通过加法的形式影响粒子的速度的。当然,当我们设置Z为-1时,粒子便不动了
Lienar,Z 设置为-1
Space用来指定我们 Linear 轴向指的是发射器的轴向,还是世界空间的轴向,道理很简单,就不再上图了。下面的几个属性才是有意识的。
Orbital 轨道
中文翻译为 轨道的,高速环形、轨道形。
我理解为就是给一个粒子的偏移力,这个力的朝向不是简单的为发射器空间或则世界空间,更像是一直拉着粒子向粒子的左边,右边,上边,下边这样。
例如我们给粒子施加一个相对于粒子向右的力,如果粒子的初始发射方向在世界空间是向上的,那么他的轨迹会随着时间向右,由于拉力的影响当粒子轨迹在世界空间向右的时候这个拉力在世界空间也已经变成了向下拉。但这个力相对于粒子来说依然是向右。
那么自然这样会有一个中心点,这个中心点不是我们指定的,是根据我们给的这个轨道力,自动形成的。理解这个才便于理解后面的 offset 属性。
我们的轨道力越大,这个中心点里我们的粒子发射器就越近,因为粒子偏移的厉害,
我们的轨道力越小,这个中心点离我们的粒子发射器就越远。
然后是这里的轴是旋转轴,就是绕这个这个轴旋转的力,如果设置的是Y轴,那么粒子是在XZ 平面内偏移的。
在此之前我们给粒子染个色,在生命开始时为绿色,中间为白色,生命快结束时为红色。
Radial 放射力
我们先看 Radial ,这样便于观察 Offset 的变化
官方解释,是指从一个将粒子从发射器向外推粒子的力,有点类似于扩张力,从发射器到粒子当前位置连一条线,这条线就是就是力的方向。值越大推理越大,粒子会里中心越来越远 (虽然正常发射也会越来越远,但是轨道力不是可以让它转圈吗,这个Radial的力是肯定会把粒子推远的)
Offset 偏移
这个值比较有意思,的意思是偏移我们轨道力的中心点的位置,中心的位置改变,势必会影响轨道的大小,以为粒子发射器到轨道力中心点的距离其实使我们轨道的半径,这个距离的变化势必会影响我们轨道圆环的大小。
为什么说有意思呢。通过前面对 Radial 的理解,我们通过修改轨道力也可以改变圆环的大小,但是呢,轨道力小了,我们的圆环无法闭合,轨道力大了,我们的圆环就会成为套圈,所以当我们需要用轨道力做一个正好收尾相接的圆环,当我们做完后,需要修改半径时,改完轨道力,圆环的收尾大概率是会错的,我们需要重新调整粒子的速度或者生命周期。这时候这个偏移值就派上用场了。
当我们做了一个正好收尾相接的圆环,我们需要调整圆环的大小时,我们直接调整这个 Offset 的值,则系统内部会自动计算粒子的速度,如果圆环变大,则粒子速度会变大,这样圆环依然可以闭合,如果圆环变小,则粒子速度会变慢,圆环依然可以闭合。
offset.gif
网友评论