大小相关
1 .minSize,maxSize,minScaleX,maxScaleY,maxScaleY,minScaleY
颜色相关
1 .粒子的初始颜色在随机color1,color2之间
2 .colorDead:粒子结束的时候颜色
粒子发射速度
1 .minEmitPower,maxEmitPower
角速度
1 .minAngularSpeed,maxAngularSpeed
2 .初始旋转角速度 minInitialRotation,maxInitialRotation
3 .旋转会在整个粒子进行中旋转,而不是出现一个初始速度就不变
4 .旋转起来也对表现效果有很大的提升
发射角度
1 .默认是从给定平面0,0位置发射的,
2 .translationPivot=(0,0) 这是默认的.
3 .表现起来像是发射的角度,比如(0,10)就会发射最后形成一个大圆
发射方向
1 .direction1,direction2 也是调整发射方向的,但是这个方向发出去的粒子,直接就沿着方向出去了,不会形成回环
2 .粒子会沿着两个向量之间的方向发射
重力
1 .particleSystem.gravity = new BABYLON.Vector3(0, -9.81, 0);
2 .粒子会按照重力,下降。感觉大部分都是需要这个的
发射速度
1 .emitRate
以上属性都是可以随着时间改变的
1 .随时间改变尺寸
1 .开始的时候大小在0.1,0.5之间随机
2 .结束的时候在1,1.5时间随机
3 .在整个期间,粒子的大小发生线性变化.按照下面的代码,粒子应该是先变大,然后在变小
particleSystem.addSizeGradient(0,0.1,0.5)
particleSystem.addSizeGradient(0.5,1,1.5)
particleSystem.addSizeGradient(1,0.1,0.5)
2 .随时间改变颜色
1 .在整个生命周期内,粒子先变由红色变成绿色,然后在变成红色
particleSystem.addColorGradient(0,new BABYLON.Color4(1,0,0,1))
particleSystem.addColorGradient(0.5,new BABYLON.Color4(0, 1, 0, 1))
particleSystem.addColorGradient(1,new BABYLON.Color4(1,0,0,1))
2 .这里也是支持初始的时候在两种颜色之间随机的
particleSystem.addColorGradient(0, new BABYLON.Color4(1, 0, 0, 1), new BABYLON.Color4(1, 0, 1, 1));
3 .随时间改变速度:真的速度,就是粒子前进的速度
particleSystem.addVelocityGradient(0,0.5)
particleSystem.addVelocityGradient(0.5,10)
particleSystem.addVelocityGradient(1,0.5)
3.1 限制生命周期内的速度,如果在生命周期内达到定义的速度,将会以 速度*阻尼系数下降:用这个可以实现粒子到了某个位置马上减速,有点像爆炸停止
particleSystem.limitVelocityDamping=0.5
particleSystem.addLimitVelocityGradient(0, 5)
particleSystem.addLimitVelocityGradient(1, 0.1)
4 .随时间改变角速度
particleSystem.addAngularSpeedGradient(0,0,5)
particleSystem.addAngularSpeedGradient(1,10,12)
particleSystem.addAngularSpeedGradient(0,0,5)
particleSystem.addAngularSpeedGradient(0.5,100,120)
particleSystem.addAngularSpeedGradient(1,10,12)
5 .随时间改变阻力
1 .这个阻力是用来模拟粒子在行进过程中遇到的空气摩擦力,阻力沿着粒子速度方向施加。挡阻力>1,粒子反向运动,阻力为0.8,则物体的速度将会降低至原来的20%
//速度先会将为0,然后加速前进
particleSystem.addDragGradient(0,0.1)
particleSystem.addDragGradient(0.5,1)
particleSystem.addDragGradient(1,-0.1)
6 .随时间改变发射率
1 .开始的时候发射的少,随着时间发射的变多
2 .必须给一个粒子发射的持续时间,这样才会算出整体的时间。之前都是在一个周期进行变化。现在必须要在整个粒子活动的时间
3 .后面的变化都需要这个东西
粒子发射10个周期
particleSystem.targetStopDuration=10
particleSystem.addEmitRateGradient(0,1)
particleSystem.addEmitRateGradient(1,200)
7 .随时间改变生命周期:末尾的时候,粒子出现会很快消失,这个也是符合认知的,之前都没有注意到
1 .后面的时候,粒子生命周期变短
particleSystem.targetStopDuration=10
particleSystem.addLifeTimeGradient(0,10)
particleSystem.addLifeTimeGradient(1,0)
8 .在整个生命周期内改变粒子的大小。比如初始的时候发的小,慢慢变大,末期的时候就又发射的很小了
particleSystem.addStartSizeGradient(0,0.25);
particleSystem.addStartSizeGradient(0.5, 3);
particleSystem.addStartSizeGradient(1, 0.3);