没错,又是我
最近在群里看到有同学想要粒子出去又回来
就像玩悠悠球一样
但是扔出去却收不回来
下面我们就来学几个跳出去又跳回来的小技巧
放心,不会被人打的
首先我们来看看效果图
几个方法都是用unity粒子系统里面的Velocity over lifetime
(不知道这是什么的去学基础课)
第一个方法(只要有Velocity over lifetime双曲线就可以用):linear三轴向双曲线
不要循环发射,生命值自定,初始速度为0,发射器shape当然是用你喜欢的形状
我们看到这三个轴向都是用这个形状的双曲线
首先A部分,这是给粒子一个速度,让它跑出去,然后停下来
B部分,是给一个和一开始相反的速度让粒子回去它出来的地方
C部分,是让粒子在外面停留
A部分和B部分的比重是差不多的,这样才能保证粒子出去后回到正确的地方
我们可以看到C部分的两条曲线中间有个缝隙,那是因为两条曲线的数值并不是0,而是0.01和-0.01
这么给的原因是可以让粒子在外面停留的时候是一个缓动的状态,而不是完全静止
好了第一个方法讲完了,是不是很简单呢
下面是第二个方法(貌似17.3版本才有?反正我17.3有看到):Speed Modifier
效果图就不上了,一样的(算了我复制一个,反正你们也看不出来)
一样不要循环发射,生命值自定,但是要给初始速度!
这个speed modifier呢,好像是17.3版本才更新的,反正我之前17刚出的时候做粒子系统注解的时候是没看到的23333
功能呢类似百分比调节速度吧
例如我一开始给了个5的初始速度,那么A那里就是粒子5速度发射出去然后速度慢慢降低到很慢很慢(5X0.01)
然后C部分就是缓动啦
B部分就是慢慢给个反方向速度回去(比例也是和A部分一致,确保刚回到家就死掉)
这个方法和一开始的方法不一样的就是,曲线是相反的,因为要给初始速度,当然你也可以配合上面linear食用
下面是第三个方法(18版本才有的):Ridial
这个鬼东西是18版本才有的,很方便,给正的数值就是往外的力,给负的数值就是往内的力
所以不要循环发射,生命值自定,而速度的数值和Ridial有关,下面我们详细说
对了,效果图
这里呢可以看见我没有做在外面停留的部分,这是要给大家留思考的空间,绝不是觉得麻烦我就懒了
生命值是随便给的,速度我给了2,然后Radial的数值我给了3
Radial的数值比速度大的原因是,这个数值会和速度相互影响,例如速度是2,Radial是-2,那么粒子就不会动,等于没有速度
所以这个曲线呢和前面那些不一样,你给的速度和Radial的数值不一样,曲线都需要调整
想着就有点累
但是原理是一样的,就是一开始A部分让粒子正常速度出去
然后给一个慢慢变大的往内的力,这个力在大到B点的时候(-2)粒子就停了下来(速度为0)
这个力超过B点的时候,也就是C部分就是粒子往回走的时候,然后最后刚好回到原点
某些同学会发现,这个回去的速度比出去的慢,那是因为回去的速度只有1,要快一点的话,就调整Radial的数值和曲线吧23333
好了第三个方法也讲完了,这个数值可以配合Orbital做一些螺旋收回之类的操作
但是也是18版本才有,如果不是18版本,就乖乖学上面的方法吧,或者去把某人(或者一群人)打一顿,叫他换版本
方法讲完了,大家可以开始反复横跳了
我们有缘再见