Unity 粒子系统参数二

我们继续下个组件:Limit Velocity over Lifetime 限制粒子速度

这个组件其实没啥屌用,就是限制粒子发射速度。

(1.Separate Axis:是否限制3个方向的速度。当我们打钩之后,会有x,y,z三个方向的速度限制。

(2.Speed:总体限制的速度。

(3.Dampen:速度限制倍数。我发现永远为1,不懂为什么。

OK,这个组件其实就是为了防止在其他地方修改导致粒子速度过快或者过慢。

进入下个组件:Force over Lifetime 粒子在不同方向受力

这个组件其实就是改变粒子不同方向上的加速度。感觉类似于上面讲的两个组件,这里我不详细介绍。

主要应用场景很多,比如喷泉,我们在z方向施加往下的力,类似的场景很多,凡是跟重力相关的都可以用上。

 Color over Lifetime:(粒子颜色随着生命周期的改变而改变)

这个组件是用来改变粒子颜色,但是这个颜色变化是根据粒子的生命周期而变化的,如下如所示:

我在生命中期的颜色改为红色,可见粒子发射出来的时候在中间位置颜色变成红色。

Color by Speed:(粒子颜色随着速度的变化而变化)

这个组件也是用来改变粒子颜色的,只不过这次是根据粒子的实时速度来变化的。

见下图:

粒子的速度为5,

1.Color:我选择在速度范围的中间设置为红色。

2.Speed Range:速度范围。这里我选择0-10,那么粒子的速度落在了范围的中部,所以整体粒子的颜色改变为红色。

Ok,接下来几个组件与上面几乎一致,分别是:

1.Size over Lifetime:(粒子大小随着生命周期而变化)

2.Size by Speed(粒子大小随着速度而变化)

3.Rotation over Lifetime(粒子旋转方向随着生命周期而变化)

4.Rotation by Speed(粒子旋转方向随着速度而变化)

External Forces:(这个组价我一直搞不懂,但是几乎没怎么用到,先跳过等我研究透了再来写)

接下来:

Collision:(粒子碰撞效果)

这个组件用来处理粒子与其他碰撞器之间的碰撞检测。

1.Planes Or World(第一个参数是其他碰撞体类型,

(1-Planes)如果是Planes的话,那么规定死了,粒子只能与这些Planes,也就是面碰撞,如上图,我们可以点击+按钮添加Transform面)

(2-Visualization)可视化类型,有分Grid和Solid:

  Grid:(网格,在编辑过程中可以看见具体的碰撞器边界)

  

  Solid(实体),没有边界,但是他的实体就是边界,没啥差别。

 (3-Scale Plane)面的缩放大小,也就是碰撞器的缩放大小。

 (4-Dampen)碰撞器表面的摩擦力大小。如果大于0的话,表明粒子碰到碰撞器后速度会减少。

 (5-Bounce)弹力。默认为1,如果为0的话,表示不能反弹,那么就只能沿着碰撞器表面滑行。

 (6-Lifetime Loss)碰撞之后粒子生命周期减少。

 (7-Min Kill Speed)顾名思义。粒子碰撞后如果速度小于这个速度的粒子会销毁。

 (8-Particle Radius)粒子半径。

(1-World)如果是World的话,我们可以选择在世界坐标下所有的碰撞的layer来剔除。在参数中多了个Collides With,这里选择我们需要的layer。

其他大致参数与上述Planes一致。

Sub Emitters:(自粒子发射器)

分为三个阶段:

1.Birth(本粒子出生的时候,那么子粒子会跟着本粒子出生)

2.Collision(本粒子碰撞的时候,会产生子粒子)

3.Death(本粒子死亡的时候,会产生子粒子)

这里注意所谓粒子是单个粒子,不是整个Particle System。可能读者会误以为整个本体Particle死亡的时候才产生粒子,这里是个误区,其实是Particle的单个小粒子。

比如我在出生的搞个子粒子。那么每发射一个小粒子,会持续产生子粒子,注意持续。因为我没有在本体粒子Death处理任何事,也就是说本体粒子没有消亡之前,一直会产生子粒子。

接下来:

Texture Sheet Animation:(序列帧动画)

这个组件得配合下面的Renderer组件的材质球。因为我们的序列帧图片是从这里获取的。

这里我搞了个帧贴图材质,赋给Renderer组件里面的Material。

OK,我们看下Texture Sheet Animation的参数:

1.Tiles :(这里是UV坐标,其实可以理解为xy分别表示把整张图切成几块,比如x等1,y等2,表示整张图,x部分整张,y部分被切成两块,这样就表示整张图被切成上下两个部分,这样帧动画就拿着两个部分循环替换出现,如果x等2,y等2,那么就整张图被切成四块,帧动画取四块交替)

2.Animation:(表示取哪个部分做帧动画)

  (1-Whole Sheet:表示整张图,根据上面的UV)

  (2-Single Row:单行)比如x=2,y=2就表示两行,row=0,就交替第一行的图片,row=1,就交替第二行的图片。

3.Frame over Time: 在粒子生命周期里面,播放第几帧的图片)就拿上面的来讲,总共有4帧图片,那么这里我写0的话,他会播放第一帧的图片,写1的话,播放第二帧的图片,如果是曲线的话,那么就会在生命周期里面,交替出现不同的帧图片,也就形成了帧动画。

4.Cycle:在生命周期内循环播放次数)基本上为1,特殊情况自己搞。

接下来的组件是与之息息相关的:

Renderer:(渲染组件,就是渲染粒子的材质球)

1.Renderer Mode:(渲染模式)

  (1-Billboard):渲染出来的粒子永远朝向摄像机,也就是说摄像机无论在哪个角度,他都是表现材质球的正面。

  (2-Stretched Billboard):渲染出来的粒子可以进行缩放,但是没有正面朝向摄像机。什么叫正面,就是说他原先发射的粒子什么方向就是什么方向。

  

  调整Scale来拉伸粒子,这三个参数随便改动那个都行。

  (3-Horizontal Billboard):渲染出来的粒子都是水平朝向。

  (4-Vertical Billboard):渲染出来的粒子都是竖直朝向。

  (5-Mesh):渲染出来的粒子的Mesh。注意这个会和Texture Sheet Animation发生冲突。也就是说规定了粒子的mesh之后就不会有帧动画产生。

  

Ok,剩下的你们自己去理解,看看名字其实就知道咋用。

下节课,我们实战下,来做个比较好看的整体粒子特效。

猜你喜欢

转载自blog.csdn.net/Happy_zailing/article/details/84377753