码迷,mamicode.com
首页 > 编程语言 > 详细

Unity3d-Particle System系统的学习(二)

时间:2016-06-14 19:26:53      阅读:505      评论:0      收藏:0      [点我收藏+]

标签:

这节我们继续上节没讲完的Particle参数。

上节我们讲了Emission发射器参数,我们接着往下讲Shape:

技术分享

可以看到这个子模块的参数是跟形状有关:

1.Shape:发射形状。粒子被约束在这个形状中发射。我们看看效果图就知道了。就拿这个Cone锥形来看:

技术分享

可以看见粒子发射总是被约束在这个锥形中。

我们看看总共有几种形状:

技术分享

1.Sphere:球体。粒子被约束在这个球体中发射。

技术分享

(1.Radius。球体半径。

(2.Emit from Shell:是否粒子发射是在圆形的表面发射。默认是圆形体内任意位置。

(3.Random Direction:是否是随机方向。默认是跟形状相关的从中心向外发散方向,比如球体就是爆炸方向。如果是随机方向的话,就是胡乱发射。但是他还是被约束在球体里面发射。只不过发射的方向变了而已。

 2.HemiSphere:半球体。粒子被约束在这个半球体内发射。

技术分享

(1.Radius:半球体的半径。

(2.Emit from Shell:是否粒子发射是在半球体的表面发射。默认是半球体内任意位置。

(3.Random Direction:跟球体类似。本来是从球体中心发散出去,但是勾选这个之后,就随机方向发射。

3.Cone:椎体。粒子被约束在这个椎体中发射出去。

(1.Angle:锥形斜面和垂直方向的夹角。如0度就是圆柱。90度就是跟平面类似。

(2.Radius:锥形底面的半径。

(3.Length:底面和顶面的距离。也就是圆锥的高。这个参数是受第4个参数的影响,如果是从Base(底面)发射,那么Length就没有用。如果是Volume(体积)发射,那么Length就有用。因为体积肯定和高度有关嘛。

(4.Emit form:从哪里发射:总共有4种:

1.Base:圆锥底面。粒子是从圆锥体的底面的任意位置沿着体积方向发射出去。

技术分享

2.BaseShell:圆锥底面周长边。粒子是从圆锥底面的周长边沿着侧表面的方向发射。与Base唯一的区别就是一个是沿体积,一个是沿侧面。

技术分享

3.Volume:体积。粒子是从圆锥体内的任意位置沿着体积的方向发射出去。

技术分享

4.VolumeShell:体积侧面。粒子是从圆锥体的侧面的任意位置沿着侧面方向发射出去的。

技术分享

(5.Random Direction:与上面讲的随机类似。

4.Box:长方体。粒子被约束在长方体内发射。

技术分享

(1.Box X:x方向上的长度。

(2.Box Y: y方向上的长度。

(3.Box Z:z方向上的长度。

默认发射粒子是在长方体内的任意位置沿着z方向(与xy平面垂直)发射。

(4.Random Direction:类似不讲了。

5.Mesh:网格。粒子被约束在网格里面发射。

技术分享

可以看到我这里选择了一个Plane网格,那么上面的参数Triangle是什么鬼。这个参数是表示粒子在哪里反射。总所周知,网格由顶点,线段,面构成。那么Triangle代表是三角面。

技术分享

他这里有三个选择:

1.Vertex:粒子就是从网格的顶点发射出去。

2.Edge:粒子是从网格的边长发射出去。

3.Triangle:粒子从网格的面发射出去。

OK,经过长篇大幅,终于把Shape这个组件讲完了。我们来总结下这个Shape的作用,他主要是约束粒子发射的形状,比如火焰当然得用Cone锥形,然后夜明珠就得用Sphere球体。

行,我们讲下个组件:Velocity over Lifetime 速度受粒子的生命周期影响。

技术分享

假如说我们将x改成4,那么粒子在x方向的速度是4,那么在粒子的生命周期内,他的x方向速度是4,其他方向速度是0。也就是说他会偏向x方向移动。

技术分享

同理,y和z方向也是类似的。

那么下面的Space是什么,就是这个x方向的速度是受父类速度影响(Local)还是不受父类影响(World)。我具体研究了下,发现根本没啥屌用。主要还是看前面的Simulation Space的参数。所以这个参数我们暂时不管他。

我们总结下,这个组件有啥用,主要是根据不同类型粒子改变不同方向上的速度。如下雨,肯定不是直直的下着带有点倾斜的下着,所以这里改变下方向速度就可以实现。

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

技术分享

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

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

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

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

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

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

技术分享

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

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

 

Unity3d-Particle System系统的学习(二)

标签:

原文地址:http://www.cnblogs.com/CaomaoUnity3d/p/5521493.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!