欢迎来到第二篇文章,我们继续看粒子系统剩下的选项.
3. Shape(形状模块)
顾名思义,该模块可以设置粒子发射器的形状,从而控制粒子的发射位置和发射方向.
因为每种Shape下对应的Editor界面不太一致,因此我们分批次来说明.
3.1 Shape:Sphere(圆形)和Hemisphere(半圆)
这两种形状下的界面板基本一致,因此我们放到一起来说明.
- Radius: 球体半径的大小,单位是米.
- Radius Thickness: 发射半径厚度.球体中发射粒子的壳的厚度,从最外层向里计算,值为0 ~ 1,当值为0时,只有最外层的球面发射粒子,当为1时,从圆心到球面的整个球体发射粒子,我们来看当值为0.5时的形状:
可以看到从内部的球面到外部的球面形成了一个壳体,粒子从这个壳体的范围发射出来. - Arc:圆形发射器的有效弧度,一周是360°,我们把这个值设置为180°看下效果:
可以看到发射器的有效范围变为了180°的圆弧.
该属性下还有其他的设置:- Mode: 粒子喷嘴(自己起的名字,可以理解为喷出粒子的位置)在有效范围内的移动方式.
- Random: 喷嘴在壳内的有效位置随机出现并喷出粒子.
-
Loop: 喷嘴在壳内沿着一个圆的轨迹不停运动并喷射粒子.
-
Ping-Pong: 喷嘴按照乒乓的模式运动,可以理解为先顺时针运动一周后再逆时针返回,然后循环.
- Burst Spread: 这个功能主要是配合 Emission 模块中的 Bursts 功能,如果设置了 Bursts ,那么设置这个模式的话可以使爆发的粒子均匀沿着壳面喷出.
- Spread: 散射角度. 取值为0 ~ 1,含义为每隔多少度来发射粒子,间隔角度 = Arc * spread的值,比如Arc是360°, Spread设置为0.1, 那么每隔36°发射粒子,我还是用上面的例子,当设置了 Bursts 并设置为 Burst Spread Mode, 效果如下:
其他模式下也是同样的意思,请大家自行测试. - Speed: 在 Loop Mode 和 Ping-Pong Mode 下出现的配置,表示喷嘴在圆形轨迹上的移动速度.
- Mode: 粒子喷嘴(自己起的名字,可以理解为喷出粒子的位置)在有效范围内的移动方式.
- Texture: 纹理,在粒子系统形状表面贴上图片纹理,被影响的粒子会复制对应位置纹理的颜色.同时可以使用该属性配合下面几个属性来裁剪粒子发射区域.
- Clip Channel: 裁剪通道,使用哪种通道来对上面设置的Texture进行裁剪.有RGBA四个选项.
- Clip Threshold: 裁剪阈值.取值范围是0 ~ 1,如果 Clip Channel 选择了 Red, 这个值设置为了0.3, 意思是设置的 Texture 上颜色值的Red分类大于等于0.3的位置才能发射粒子.
- Color affects Particles: 颜色影响粒子,勾选后经过该 Texture 位置发射的粒子颜色会使用该位置纹理的颜色.
- Alpha affects Particles: 透明度影响粒子,勾选后经过该 Texture 位置发射的粒子透明度会使用该位置纹理的透明度.
- Bilinear Filtering: 双线过滤. 对像素比较少的纹理进行优化.关于此概念的理解可以查阅这里:
纹理的过滤方式 - Position: 把shape当做粒子系统的子物体,设置shape的位置.
- Rotation: 设置shape的旋转.
- Scale: 设置shape的缩放.
- Align To Direction: 方向对齐,当选择了该设置后,可以看到所有粒子的Z轴都与自己的初始速度方向保持一致,当有需求需要从物体表面垂直喷出粒子效果时,可以使用该选项,并且可以与 Start Rotation 一起来设置.
- Randomize Direction: 使粒子的初始运动方向随机化,当值为0的时候不随机,粒子的运动方向有一定的趋势,这个趋势跟发射器的形状有关系,比如当是圆形的时候,更多的是方向是沿着球面的法线方向,当是Cone的时候,更多的是贴着内壁,而当该值为1的时候,运动方向完全随机.
- Spherize Direction: 球面化方向,在球形发射器下很难观察到,可以把形状切换为 Box 后设置该项的值,当为0的时候没有作用,值为1的时候,粒子的发射方向会以 Shape 的中心为圆心,向虚拟球面的法线方向发射,类似于 Sphere 形状下的粒子发射方向.
- Randomize Position: 随机化位置.距离原有发射点的位置随机化,随机范围是原有位置到最大喷射位置,该值控制随机化的权重,当为1的时候所有粒子的初始位置都会随机.
3.2 Shape:Cone(圆锥体)
我们先来看 Cone 形状的编辑器界面.
可以看到其中有些属性我们已经说明过,如果没有特别含义的话就不再写出了.
作图水平有限,希望可以让大家看懂.
- Angle: 上图的α角度,值越大,锥顶的半径比锥底越大,取值范围是0° ~ 90°, 其他值会被强制修改到此范围.
- Radius: 锥底的半径大小.
- Radius Thickness: 图中所示的壳体厚度.
- Arc属性同上.
- Length: 椎体的高度,只有在 Volume 发射模式下才能使用.
- Emit from:粒子的发射位置.
- Base: 只从锥底发射.
- Volume: 从锥底与锥顶之间的整个椎体发射.
其余属性同上.
3.3 Shape:Donut(甜甜圈)
- Radius: 大圆的半径.
- Donut Radius: 小圆的半径.
- Texture: 分布在小圆的横截面上.
其他属性同上.
3.4 Shape:Box(盒型)
- Emit from:粒子的发射位置.
- Volume: 整个体积内发射粒子.
- Shell: 从6个面发射粒子.
- Edge: 从12个边发射粒子.
- Box Thickness: 当选择 Shell 或者 Edge 的时候出现该选项.设置了XYZ三个轴分量.
这个厚度并不是如表面意思一般,当为0的时候,粒子几乎可以均匀的从各边和各面发射,当为1的时候,会集中在粒子发射系统各个轴反向的边和面进行发射.
其余属性同上.
3.5 Mesh(网格), Mesh Renderer(网格渲染),Skinned Mesh Renderer(骨骼网格渲染).
把这三个合在一起说明,是因为三中Shape的选项设置基本都是一样的.
- Mesh: 对应不同的Shape可以设置一个Mesh,Mesh Renderer或者Skinned Mesh Renderer.
- Type: 发射样式,跟前面所述的 Emit from 有些类似:
- Vetex: 只在 Mesh 的顶点发射.
- Edge: 只在 Mesh 的边缘线发射.
- Triangle: 在模型的三角面上进行发射.
- Single Material: 独立材质.一个Mesh可能有多个材质,选中该项后需要输入一个材质编号,那么粒子只会从该材质的位置发射.
- Use Mesh Color: 使用网格顶点颜色调整粒子颜色,如果没有网格顶点,默认使用材质中的着色器属性 Color 或者 TintColor. 并不是很理解这个属性与 Color affects Particles 的区别,请知道到的小伙伴留言指导一下.
- Normal Offset: 法线偏移,粒子生成位置距离原有位置在法线上偏移的距离.
- UV channel: 可以让图片使用指定的UV通道显示.
其他属性同上.
3.6 Sprite(精灵),Sprite Renderer(精灵渲染器)
- Sprite: 可以设置一个 Sprite 或者 Sprite Renderer,粒子会从 Type 指定的位置发射.
其余属性同上.
3.7 Circle(圆形)
其实 Circle 和 Cone 很像, 只不过 Circle 只是一个底部平面,而且粒子的发射趋势是沿着圆面的法线方向,如果设置 Texture 的话,会直接贴在圆面上,其余属性跟 Cone 基本一致.
3.8 Edge(单线形)
- Radius: 发射线的长度.
发射器的形状是一条线, 其余属性同上.
3.9 Rectangle(矩形)
发射器的形状是矩形,粒子的发射方向趋于Z轴正方向.其余属性同上.
终于结束了 Shape 的说明,这次请多多休息,然后继续向下一篇挣扎.