unity 之 Particle 内置粒子系统二


这个模块影响发射速率和发射的时间

unity 之 Particle 内置粒子系统二

文章插图

Rate over Time
单位时间内发射的粒子数
Rate over
每移动一单位距离所发射的粒子数,就是粒子系统每移动单位距离就发射的粒子数,不移动不发射 ,  这对于模拟由物体运动产生的粒子非常有用(例如,来自汽车车轮上的灰尘
爆发是产生粒子的事件. 这些设置允许粒子在指定时间发射
Time
设定时间(以秒为单位,在粒子系统开始播放后),在此时间发射爆炸 。
Count
发射的粒子数
设置一个值来播放爆裂的次数.,就是播放几次爆炸效果
设置触发每个周期之间的时间(以秒为单位),和cycle对应,每个爆炸之间的间隔时间
控制每个爆炸事件产生粒子的可能性.数值越大,系统产生的粒子越多, 值1保证系统产生粒子
发射速率可以是恒定的 , 也可以根据曲线随系统的寿命而变化 。如果 Rate over模式是活动的 , 一定数量的粒子被释放每单位距离由父对象移动. 这对于模拟由物体运动产生的粒子非常有用(例如,来自汽车车轮上的灰尘).
Rate over Time 是活动的 , 那么无论父对象如何移动,每秒都发射出所需的粒子数. 此外,您还可以添加在特定时间出现的额外粒子 (例如,蒸汽火车的烟囱会产生阵阵浓烟).
Shape
这个模块定义了粒子发射的体积或表面,和开始速度的方向. The Shape 属性定义了发射体的形状, 其余的模块属性取决于您选择的形状 。
所有的形状(除了网格)都有定义其尺寸的属性, 比如 要编辑这些,在场景视图中拖动线框发射器形状上的手柄,形状的选择会影响粒子发射的区域,还有粒子的初始方向.例如,一个球体向四面八方发射粒子, a Cone 放出一股发散的粒子流, and a Mesh网格向垂直于表面的方向发射粒子
in the Shape, :圆和半圆
unity 之 Particle 内置粒子系统二

文章插图
Note:andhave the same .
Shape
发射体积的形状.
所有方向的均匀粒子发射
半圆发射
形状的半径
放射粒子的体积的比例. 值0从形状的外表面发射粒子. 值1从整个体积释放出粒子.这个作用没怎么看出来
一种纹理,用于着色和去除颗粒 。这个贴图时发射形状的贴图 。并不是粒子贴图
Clip
用于丢弃颗粒的纹理通道
Clip
当将粒子映射到纹理上的位置时,丢弃任何 pixel color像素颜色低于此阈值的像素
Color
用纹理颜色乘以粒子颜色 。
Alpha
粒子阿尔法乘以纹理阿尔法 。
线性过滤;读取纹理时 , 结合4个相邻的样本,使粒子颜色变化更平滑
发射形状的偏移
旋转
Scale
缩放
Align to
根据粒子的初始运动方向确定粒子的方向 。如果您想要模拟 , 例如 , 在碰撞过程中,大块的汽车油漆从汽车的车体上飞出,这是非常有用的 。如果方向不令人满意,您还可以通过在主模块中应用一个Start 值来覆盖它 。
勾选上所有的粒子都很整齐,发射方向都是一样的
向随机方向混合粒子方向 。设置为0时,此设置无效 。当设置为1时,粒子的方向完全是随机的 。
将粒子的方向混合成球面方向,他们从变形中心向外扩散. 设置为0时,此设置无. 当设置为1时 , 粒子方向从中心指向外(与形状设置为球体时相同) 。
将粒子随机移动到指定的值. 此设置为0时,此设置无效 。任何其他值都将对粒子的生成位置应用一些随机性
Cone
unity 之 Particle 内置粒子系统二

文章插图
Arc
圆的角部分 , 形成发射体的形状 , 一开始时360全方位发射,这个决定了反射源的角度
Mode
定义如何统一产生粒子周围的弧形的形状. , Unity 在弧上随机生成粒子. Loop, Unity 有顺序的生成粒子,并在每个循环结束时循环回到起点. Ping-Pong is the same as Loop, 和循环是一样的,除了每个连续的循环发生在与最后一个相反的方向, Burst模式将粒子的产生均匀地分布在形状周围. 与默认的随机行为相比,这可以得到一个均匀的粒子分布, 粒子可能不均匀地聚集在一起的地方. Bursti是 burst .
可能产生粒子的弧周围的离散区间. 例如,0的值允许粒子在圆弧的任何地方出现, 而0.1的值只会在形状周围以10%的间隔产生粒子 。
Speed
发射位置在电弧周围移动的速度.
圆锥的长度 。这仅在Emit from:属性设置为时才适用 。
Emit from:
发射粒子的圆锥部分: Base or .
Box
unity 之 Particle 内置粒子系统二

文章插图
The shapewhen set to Box mode
Box
从盒子形状的边缘、表面或物体上发射粒子.粒子沿发射体的前进(Z)方向运动
Emit from:
【unity 之 Particle 内置粒子系统二】选择要从中发出的框的部分: Edge, Shell, or .
Moveby a, up to thevalue. When this is set to 0, thishas no . Any other value will apply someto theof the .
Mesh, ,
unity 之 Particle 内置粒子系统二

文章插图
形状模块设置为网格模式Mesh、和具有相同的属性
Mesh
从任何通过检查器提供的任意网格形状发射粒子
发射粒子从一个参考游戏对象
的网格渲染器Emitsfrom ato a ’s Mesh
释放粒子从一个参考游戏物体的 Mesh 蒙皮网格渲染器 。.
Type
粒子从哪里发出.:顶点发出, Edge :边缘发出:从三角形中发射出来
Mesh
unity 之 Particle 内置粒子系统二

文章插图
提供发射器形状的网格 。
指定是否从特定的子网格发射粒子,由 index标识,如果启用,将出现一个数字字段,允许您指定 index . 。
Use Mesh
调整粒子的颜色与网格顶点的颜色,或者,如果它们不存在,使用材质的着色属性“color”或“” 。
离网格表面发射粒子的距离(在表面法线方向)
Mesh
你可以从一个特定的子网格里发射粒子,
若要忽略网格的颜色 , 请检查“Use Mesh ”属性 . 要从网格中读取纹理颜色,请将要读取的纹理分配给纹理属性 。
over
Theoveryou totheofover their .
unity 之 Particle 内置粒子系统二

文章插图

X, Y, Z
粒子在X、Y、Z轴上的线速度.
Space
X、Y、Z轴是指局部空间还是世界空间.
X, Y, Z
粒子绕X、Y、Z轴的轨道速度 。
X, Y, Z
轨道中心的位置,用于绕轨道运行的粒子 。
粒子偏离中心位置的径向速度 。.
Speed
:对粒子的速度(沿其当前的运动方向)应用乘法器 。
要创建在特定方向上漂移的粒子,可以使用线性的X、Y和Z曲线 。
用围绕中心位置旋转的粒子创造效果, 使用轨道速度值此外,您可以使用径向速度值推动粒子朝向或远离中心位置. Y您可以使用偏移值为每个粒子定义自定义旋转中心,
You can also use thistothe speed of thein the
their , byall the aboveat zero and onlythe Speedvalue.
模拟风的效果 wind zones,Forceonby the .
风力的大小
选择影响力的区域,是根据 Layer Mask 还是根据List
List
定义一个能影响这个粒子系统的力场的显式列表
. Thiswhen theis set to List.
Mask
使用一个图层蒙版来确定哪个力场影响这个粒子系统. ,:
为了从这个特性中获得最好的结果 , 使用ields组件创建单独的 。要想给粒子区域添加风,可以单独添加一个物体,挂上ield组件
地形中加入风域可以影响树的移动,打开这个选项,以允许粒子接受风的影响.数值可以让你衡量风对粒子的影响,值越大 , 风力越大
控制粒子在场景中的碰撞. type设置碰撞是在平面上还是在立体空间上发生or to the World
. World:需要选择是 2D or 3D world.

unity 之 Particle 内置粒子系统二

文章插图
popup
模式.
定义碰撞平面的可扩展转换列表,就是可以碰撞的平面
碰撞平面的轴是否在场景中显示,是显示成网格还是固体
Scale Plane
缩放碰撞面的大小
粒子碰撞到平面之后速度得衰减比例.
碰撞之后的弹性
Loss
碰撞之后的生命周期得衰减
Min Kill Speed
碰撞后小于这个速度得粒子将被销毁
Max Kill Speed
碰撞之后大于这个速度得粒子将被销毁
Scale
允许您调整粒子碰撞球体的半径,使其更接近于粒子图形的视觉边缘 。
Send
执行挂在粒子物体上得脚本中得
方法
在场景视图中以线框图的形式呈现每个粒子的碰撞边界 。
World
unity 之 Particle 内置粒子系统二

文章插图
World popup
World .模式
Mode
3D or 2D.
影响粒子穿过碰撞体数量,低质量消耗性能低,有时候粒子会穿过碰撞体
High
高质量,实时检测粒子与碰撞体得碰撞
( )
请注意,此设置仅适用于从不移动的静态碰撞器 。
Low ( )
请注意,此设置仅适用于从不移动的静态碰撞器 。
With
粒子只会与选定层上的物体碰撞 。.
Max
粒子碰撞可以考虑多少种碰撞形状. 多余的形状被忽略,优先
允许粒子与动态对象发生碰撞(否则只使用静态对象)
是没有配置成运动学的
选中此选项以将这些碰撞器类型包含在粒子在碰撞中响应的对象集合中.取消此选项,粒子只对静态碰撞作出反应 。
Voxel Size
unity 之 Particle 内置粒子系统二

文章插图
一个立体像素代表了三维空间上的一个值 . 当使用or Low,Unity在网格结构中缓存碰撞. 这个设置决定了缓存区域的大小. 更小的值可以提供更高的精度,但是需要更多的内存,而且效率更低 。
Note: You can onlythiswhenis set toor Low.
Force
在粒子碰撞后对物理对撞机施加一个力 。这对于推动粒子碰撞是有用的
byAngle
在对撞机施加力时,根据粒子与对撞机的碰撞角来确定力的大小 。擦射角产生的力比正面碰撞要小 。
bySpeed
当对碰撞体施加力时,根据粒子的速度调整力的强度 。高速运动的粒子比低速运动的粒子产生更大的力 。
bySize
当对碰撞体施加力时,根据粒子的大小调整力的强度 。较大的粒子比较小的粒子产生更大的力 。.
例如,水或碎片应该被一堵坚固的墙挡住,而不是简单地通过它. 启用碰撞模块后 , 粒子可以与场景中的物体发生碰撞 。
选用world , 粒子可以与场景中的任何发生碰撞.模式可以添加没有组件得物体发生碰撞(实时证明并不行). 这个选项对于简单的地板、墙壁和类似的对象很有用,并且比World模式的处理器开销更低 。
模式时可以添加一组空物体,平面在对象的局部XZ平面上无限延伸,Y轴正方向表示平面的法向量
当允许碰撞时,一个粒子的大小有时会成为一个问题,因为当它与一个表面接触时 , 它的图形会被剪切. 这可能会导致一个粒子在停止或弹跳之前 , 在中途“下沉”到一个表面.Scale通过为粒子定义一个近似的圆形半径来解决这个问题, 作为其实际大小的百分比. 这个大小信息是用来防止裁剪和避免下沉的 。
and当粒子代表固体时有用. 例如,砂砾在投掷时往往会从坚硬的表面反弹,而雪球的颗粒在碰撞中可能会失去速度.Loss and Min Kill Speed 可以帮助减少碰撞后残留粒子的影响 。例如 , 一个火球在空中飞行时可能持续几秒钟,但在碰撞后,分离的火粒子应该迅速消散 。
Send该脚本可以附加到粒子系统的对象,或者有 组件的那个物体,
World
, 可以设置 High,or Low.( ) or Low ( ), 使用 ( on a 3D grid) 缓存之前的碰撞,以便重复使用.
这个缓存由每个体素中的一个平面组成, 平面表示那个位置的碰撞面. 在每一帧中,Unity检查在粒子位置的一个平面的缓存,如果有的话, Unity 使用. 否则,它请求物理系统 , 如果返回碰撞,将碰撞添加到缓存中,以便在后续帧上快速查询 。
这是一个近似值, 所以可能会发生一些遗漏的碰撞.您可以减少体素大小值来帮助解决这个问题;但是,这样做会占用额外的内存 , 而且效率更低 。
and Low得唯一不同是系统每帧允许查询物理系统的次数,Low每帧的查询比少. 一旦超出了每帧的预算,只有缓存用于任何剩余的粒子. 这可能导致丢失冲突的增加,直到缓存被更全面地填充 。
粒子系统有能力在与场景中的一个或多个碰撞器交互时触发回调,当粒子进入 , 退出或者在碰撞体内部时会触发回调函数
当粒子进入碰撞器时,可以使用回调作为销毁粒子的简单方法 (例如,防止雨滴穿透屋顶),或者它可以用来改变任何或所有粒子的属性 。没必要勾选
触发器模块还提供了自动清除粒子的Kill选项,以及忽略碰撞事件的选项
unity 之 Particle 内置粒子系统二

文章插图
::
进入 内部时调用.
在碰撞体外部调用
Enter
进入时调用
Exit
退出时调用
Scale
:这个参数设置粒子的碰撞边界允许事件在粒子接触对撞机之前或之后发生.例如,你可能想让一个粒子在弹回之前穿透对撞机物体的表面,在这种情况下,可以将半径范围设置为略小于1. 请注意,当事件实际触发时,此设置不会更改,但可以延迟或提前触发的视觉效果 。
- 输入1,使事件看起来是在粒子接触对撞机时发生的
- 输入一个小于1的值,使触发器看起来是在粒子穿透对撞机后发生的
- 输入一个大于1的值,使触发器看起来是在粒子穿透对撞机后发生的
Thisyou tothe ’sin the.
如果使用自己定义的回调函数得话, 使用 sions.() (along with theyou want to )
using UnityEngine;using System.Collections;using System.Collections.Generic;[ExecuteInEditMode]public class TriggerScript : MonoBehaviour{ParticleSystem ps;// these lists are used to contain the particles which match// the trigger conditions each frame.List enter = new List();List exit = new List();void OnEnable(){ps = GetComponent();}void OnParticleTrigger(){// get the particles which matched the trigger conditions this frameint numEnter = ps.GetTriggerParticles(ParticleSystemTriggerEventType.Enter, enter);int numExit = ps.GetTriggerParticles(ParticleSystemTriggerEventType.Exit, exit);// iterate through the particles which entered the trigger and make them redfor (int i = 0; i < numEnter; i++){ParticleSystem.Particle p = enter[i];p.startColor = new Color32(255, 0, 0, 255);enter[i] = p;}// iterate through the particles which exited the trigger and make them greenfor (int i = 0; i < numExit; i++){ParticleSystem.Particle p = exit[i];p.startColor = new Color32(0, 255, 0, 255);exit[i] = p;}// re-assign the modified particles back into the particle systemps.SetTriggerParticles(ParticleSystemTriggerEventType.Enter, enter);ps.SetTriggerParticles(ParticleSystemTriggerEventType.Exit, exit);}}
这个给粒子的材质还得是下的 普通的还不行
Sub
此模块允许您设置子发射器 。这些是额外的粒子发射器 , 是在粒子生命的某些阶段,在其位置上产生的 。.
unity 之 Particle 内置粒子系统二

文章插图

Sub
配置子发射器列表,选择它们的触发条件以及它们从父粒子继承的属性 。
许多类型的粒子在其寿命的不同阶段产生影响 , 也可以使用粒子系统来实现
例如,一颗子弹离开枪管时可能会伴随着一股烟雾粉末,火球在撞击时可能会爆炸 。您可以使用子发射器来创建这样的效果 。
子发射器是在场景中或预制件中创建的普通粒子系统对象. 这意味着次级发射器可以有自己的次级发射器 (这种布局可以用于复杂的效果,如烟花).然而,很容易产生大量的粒子使用亚发射器 , 这可以是资源密集型 。
要触发一个次级发射器,你可以使用以下条件:
, , Death and在中只能使用 burst 发射.
此外,可以使用选项将属性从父粒子传输到每个新创建的粒子.可以继承size, , color and .使用模块继承速度
也可以配置子发射器事件触发的概率,通过设置Emit. 1确保事件将触发,而较低的值将降低概率 。
Force Field
Force Field 组件是给粒子系统添加一个外力,把这个组件添加到粒子系统上, 要使用这个,把打开
unity 之 Particle 内置粒子系统二

文章插图
使用Force Field 组件添加不同类型的力
所有类型的力都是应用到局部空间上.例如,旋转影响方向和旋转属性 。
Shape
Shape
选择风力区域得类型
Start Range
设置风力区域内部开始的点
End Range
设置风力区域外部终结得点
X, Y and Z
设置一个沿x轴、y轴和z轴作用于粒子的线性力,值越大,力越大. You canaforce
or vary the force over time. Seeover timefor more .
设置风力区域对粒子吸引力的大?。?就像一个漩涡一样,值越大 , 对粒子的吸引力越大. You canaor vary theover time. For more , seeover time .
Focus
设置中心对粒子的吸引力.0表示将粒子吸引到形状的中心,1将粒子吸引到形状的外边缘 。
Speed
设定粒子系统的速度 , 使粒子在力场的中心涡旋周围运动,值越高,速度越快. You canaspeed or vary the speed over time. For more , see theover time .
设置粒子被卷入旋涡运动的强度. 值1表示最大的吸引力 , 值0表示没有吸引力.
设置形状的随机轴来推动粒子.值1应用最大随机性,值0不应用任何随机性 。
Drag
设置拖拽效果的强度,使粒子减速
Drag by Size
粒子越大,拖拽里越大
Drag by
速度越大,拖拽里越大
Field
设置风力区域的贴图
Speed
对通过风力区域的粒子进行叠加一个速度 Thethe value, thethe speed. You canaor vary theover time. Seeover time.
给通过风力区域的粒子添加一个力 , 让他们往中心靠拢 Seeover time.