Unity3D ParticleSystem粒子系统
粒子系统检视面板
点击粒子系统检视面板的右上角的"+"来增加新的模块。(Show All Modules:显示全部)
初始化模块:
- 持续时间(Duration):粒子系统发射粒子的持续时间
- 循环(Looping):粒子系统是否循环
- 预热(Prewarm):当looping开启时,才能启动预热(Prewarm),游戏开始时粒子已经发射了一个周期。
- 初始延迟(Start Delay):粒子系统发射粒子之前的延迟。注意在prewarm(预热)启用下不能使用此项。
- 初始生命(Start Lifetime)以秒为单位,粒子存活数量。
- 初始速度(Start Speed):粒子发射时的速度。
- 初始大小(Start Size):粒子发射时的大小。
- 初始旋转(Start Rotation):粒子发射时的旋转值。
- 初始颜色(Start Color):粒子发射时的颜色。
- 重力修改器(Gravity Modifier):粒子在发射时受到的重力影响。
- 继承速度(Inherit Velocity):---控制粒子速率的因素将继承自粒子系统的移动(对于移动中的粒子系统)。
- 模拟空间(Simulation Space):粒子系统在自身坐标系还是世界坐标系。
- 唤醒时播放(Play On Awake):如果启用粒子系统当在创建时,自动开始播放。
- 最大粒子数(Max Particles):粒子发射的最大数量
发射模块(Emission):
控制粒子的发射时的速率,在粒子系统存续期间可以在某个时间生成大堆粒子(模拟爆炸)。
- 速率(Rate):每秒的粒子发射的数量 (小箭头可选择“每秒(Time)”或“每米(Distance)”)。
- 突发(Bursts):在粒子系统生存期间增加爆发
- 爆炸的时间 | 数量(Time | Particles):指定时间(在生存期内,以秒(Time)为单位时),将发射指定数量的粒子。用"+"或"-"调节爆发数量。
发射器形状模块(Shape):
发射器形状内部随机位置生成,并能提供初始的力,该力的方向将延表面法线或随机方向发射。
- 球体【Sphere】
- 半径(Radius):球体的半径。
- 从外壳发射(Emit from Shell):从球体外壳发射。
- 随机方向(Random Direction):随机方向或是沿表面法线。
- 半球【Hemisphere】
- 半径(Radius):半椭圆的半径。
- 从外壳发射(Emit from Shell):从半椭圆外壳发射。
- 随机方向(Random Direction):随机方向或是沿表面法线。
- 锥体【Cone】喇叭~
- 角度(Angle):圆锥的角度(喇叭口)。如果是0,粒子将延一个方向发射(直筒)。
- 半径(Radius ):发射口半径。
- 立方体【Box】
- Box X:X轴的缩放值
- Box Y:Y轴的缩放值
- Box Z:Z轴的缩放值
- 随机方向(Random Direction):粒子将延一个随机方向发射(取消:延Z轴发射)。
- 网格【Mesh】
- 类型(Type):粒子将从顶点(Vertex)、边(Edge)、或三角面(Triangle)发射。
- 网格(Mesh):选择一个面作为发射面。
- 随机方向(Random Direction):粒子发射将随机方向或是沿表面法线。
存活时间的速度模块(Velocity Over Lifetime):
粒子的直接动画路径。(通常用于复杂物理粒子,不过是简单的视觉行为和物理世界的小互动,如与飘荡的烟雾和气温降低。)
- XYZ:使用常量曲线或在曲线中随机去控制粒子的运动。
- Space:局部/世界 速度值在局部还是世界坐标系。
存活期间的限制速度模块(Limit Velocity Over Lifetime):
-基本上被用于模拟的拖动。如果有了确定的阀值,将抑制或固定速率。可以通过坐标轴或向量调整。
- 分离轴(Separate Axis):用于每个坐标轴控制。
- ----速度(Speed):用常量或曲线指定来限制所有方向轴的速度。(未选中)
- ----XYZ:用不同的轴分别控制。见最大最小曲线。(选中)
- 阻尼(Dampen):(0-1)的值确定多少过度的速度将被减弱。(值为0.5,将以50%的速率降低速度)
存活期间的受力模块(Force Over Lifetime):
- XYZ:使用常量或随机曲线来控制作用于粒子上面的力。
- Space:Local自己的坐标系,World世界的坐标系。
- 随机(Randomize):每帧作用在粒子上面的力都是随机的。(两组xyz时可选择,随机范围是这两组xyz之间的差值。)
存活时间的颜色模块(Emission):
控制每个粒子存活期间的颜色(与初始颜色叠加)。粒子存活时间越短变化越快。
两种颜色随机比例互相叠加。
颜色速度模块(Color By Speed):
使粒子颜色根据其速度动画化。为颜色在1个特定范围内重新指定速度。
- 颜色(Color):用于指定的颜色。使用渐变色来指定各种颜色。
- 颜色缩放(Color Scale):使用颜色缩放可以方便的调节纯色和渐变色。
- 速度范围(Speed Range):min和max值用来定义颜色速度范围。
存活时间的大小模块(Size Over Lifetime):
- 大小(Size):控制每个粒子在其存活期间内的大小。曲线,随机双曲线或随机范围数值。
存活时间的大小速度模块(Size By Speed):
- 大小(Size):大小用于指定速度。用曲线表示各种大小。
- 速度范围(Speed Range):min和max值用来定义大小速度范围。
存活期间的旋转速度模块(Rotation Over Lifetime):
以度为单位指定值。
- 旋转速度(Rotational Speed):控制每个粒子在其存活期间内的旋转速度。使用常量,曲线,2曲线随机。
旋转速度模块(Rotation By Speed):
- 旋转速度(Rotational Speed):用来重新测量粒子的速度。使用曲线表示各种速度。
- 速度范围(Speed Range):为min和max值用来定义旋转速度范围。
碰撞模块(Collision Module):
为粒子系统建立碰撞。现在只有平面碰撞被支持,这个将很有效率的做简单探测。
- 平面(Planes):Planes被定义为指定引用。可以动画化。如果多个面被使用,Y轴作为平面的法线。
- 阻尼(Dampen):0-1 在碰撞后变慢。
- 反弹(Bounce):0-1 当粒子碰撞后的反弹力度。
- 生命减弱(Lifetime Loss):(0-1) 每次碰撞胜铭减弱的比例。0,碰撞后粒子正常死亡。1,碰撞后粒子立即死亡。
- 可视化(Visualization):可视化平面:网格还是实体
- -----网格(Grid):在场景渲染为辅助线框。
- ----实体(Solid):在场景渲染为平面。
- 缩放平面(Scale Plane):重新缩放平面
子粒子发射模块(Sub Emitter):
可以生成其他粒子系统,用下列的粒子事件:出生、死亡、碰撞。
- 出生(Birth):在每个粒子出生的时候生成其他粒子系统
- 死亡(Death):在每个粒子死亡的时候生成其他粒子系统
- 碰撞(Collision):在每个粒子碰撞的时候生成其他粒子系统。重要的 碰撞需要建立碰撞模块。见碰撞模块
纹理层动画模块(Texture Sheet Animation):
在粒子存活期间动画化UV坐标。动画每帧可以显示在表格或1个表格的每行,这样将动画分开。每帧可以用曲线动画或者在2个曲线取随机。速度被定义为"循环"、
注意:用于动画的纹理是在渲染器模块中材质找到使用的。
- 平铺(Tiles):定义纹理的平铺
- 动画(Animation):指定动画类型:整个表格或是单行。
- ----整个表(Whole Sheet):为UV动画使用整个表格。
- -------时间帧(Frame over Time):在整个表格上控制UV动画。使用常量,曲线,2曲线随机。
- ----单行(Single Row):为UV动画使用表格单独一行。
- -------随机行(Random Row):如果选择第一行随机,不选择得指定行号(第一行是0)
- -------时间帧(Frame over Time):在1个特定行控制每个粒子的UV动画。使用常量,曲线,2曲线随机。
- 周期(Cycles):指定动画速度。
渲染器模块(Renderer):
渲染模块显示粒子系统渲染组件的属性。注意:即使一个游戏物体有渲染粒子系统组件,当此模块被删除/添加后,它的属性也只能显示在这里。这个实际上是粒子系统渲染组件的添加和删除。
- 渲染模式(Render Mode):选择下列粒子渲染模式之一
- ----广告牌(Billboard):让粒子永远面对摄像机。
- ----拉伸广告牌(Stretched Billboard):粒子将通过下面属性伸缩。
- -------摄像机缩放(Camera Scale):决定摄像机的速度对粒子伸缩的影响程度。
- -------速度缩放(Speed Scale):通过比较速度来决定粒子的长度。
- -------长度缩放(Length Scale):通过比较宽度来决定粒子的长度。
- ----水平广告牌(Horizontal Billboard):让粒子延Y轴对齐,面朝Y轴方向。
- ----垂直广告牌(Vertical Billboard):当面对摄像机时,粒子延XZ轴对齐。
- ----网格(Mesh):粒子被渲染时使用mesh而不是quad。
- -------网格(Mesh):渲染粒子所用的网格引用。
- 材质(Material):材质。
- 排序模式(Sort Mode):绘画顺序可通过具体,生成早优先和生成晚优先。
- 排序校正(Sorting Fudge):使用这个将影响绘画顺序。粒子系统带有更低sorting fudge值,更有可能被最后绘制,从而显示在透明物体和其他粒子系统的前面 。
- 投射阴影(Cast Shadows):粒子能否投影?这是由材质决定的。
- 接受阴影(Receive Shadows):粒子能否接受阴影?这是由材质决定的。
- 最大粒子大小(Max Particle Size):设置最大粒子大小,相对于视窗大小。有效值为0-1。
粒子系统检视面板
管理复杂的粒子效果,untiy提供了粒子编辑器,用户从监事面板的粒子组件面板可以点击"Open Editor"按钮。
粒子系统检视面板
点击粒子系统检视面板的右上角的"+"来增加新的模块。(Show All Modules:显示全部)
初始化模块:
- 持续时间(Duration):粒子系统发射粒子的持续时间
- 循环(Looping):粒子系统是否循环
- 预热(Prewarm):当looping开启时,才能启动预热(Prewarm),游戏开始时粒子已经发射了一个周期。
- 初始延迟(Start Delay):粒子系统发射粒子之前的延迟。注意在prewarm(预热)启用下不能使用此项。
- 初始生命(Start Lifetime)以秒为单位,粒子存活数量。
- 初始速度(Start Speed):粒子发射时的速度。
- 初始大小(Start Size):粒子发射时的大小。
- 初始旋转(Start Rotation):粒子发射时的旋转值。
- 初始颜色(Start Color):粒子发射时的颜色。
- 重力修改器(Gravity Modifier):粒子在发射时受到的重力影响。
- 继承速度(Inherit Velocity):---控制粒子速率的因素将继承自粒子系统的移动(对于移动中的粒子系统)。
- 模拟空间(Simulation Space):粒子系统在自身坐标系还是世界坐标系。
- 唤醒时播放(Play On Awake):如果启用粒子系统当在创建时,自动开始播放。
- 最大粒子数(Max Particles):粒子发射的最大数量
发射模块(Emission):
控制粒子的发射时的速率,在粒子系统存续期间可以在某个时间生成大堆粒子(模拟爆炸)。
- 速率(Rate):每秒的粒子发射的数量 (小箭头可选择“每秒(Time)”或“每米(Distance)”)。
- 突发(Bursts):在粒子系统生存期间增加爆发
- 爆炸的时间 | 数量(Time | Particles):指定时间(在生存期内,以秒(Time)为单位时),将发射指定数量的粒子。用"+"或"-"调节爆发数量。
发射器形状模块(Shape):
发射器形状内部随机位置生成,并能提供初始的力,该力的方向将延表面法线或随机方向发射。
- 球体【Sphere】
- 半径(Radius):球体的半径。
- 从外壳发射(Emit from Shell):从球体外壳发射。
- 随机方向(Random Direction):随机方向或是沿表面法线。
- 半球【Hemisphere】
- 半径(Radius):半椭圆的半径。
- 从外壳发射(Emit from Shell):从半椭圆外壳发射。
- 随机方向(Random Direction):随机方向或是沿表面法线。
- 锥体【Cone】喇叭~
- 角度(Angle):圆锥的角度(喇叭口)。如果是0,粒子将延一个方向发射(直筒)。
- 半径(Radius ):发射口半径。
- 立方体【Box】
- Box X:X轴的缩放值
- Box Y:Y轴的缩放值
- Box Z:Z轴的缩放值
- 随机方向(Random Direction):粒子将延一个随机方向发射(取消:延Z轴发射)。
- 网格【Mesh】
- 类型(Type):粒子将从顶点(Vertex)、边(Edge)、或三角面(Triangle)发射。
- 网格(Mesh):选择一个面作为发射面。
- 随机方向(Random Direction):粒子发射将随机方向或是沿表面法线。
存活时间的速度模块(Velocity Over Lifetime):
粒子的直接动画路径。(通常用于复杂物理粒子,不过是简单的视觉行为和物理世界的小互动,如与飘荡的烟雾和气温降低。)
- XYZ:使用常量曲线或在曲线中随机去控制粒子的运动。
- Space:局部/世界 速度值在局部还是世界坐标系。
存活期间的限制速度模块(Limit Velocity Over Lifetime):
-基本上被用于模拟的拖动。如果有了确定的阀值,将抑制或固定速率。可以通过坐标轴或向量调整。
- 分离轴(Separate Axis):用于每个坐标轴控制。
- ----速度(Speed):用常量或曲线指定来限制所有方向轴的速度。(未选中)
- ----XYZ:用不同的轴分别控制。见最大最小曲线。(选中)
- 阻尼(Dampen):(0-1)的值确定多少过度的速度将被减弱。(值为0.5,将以50%的速率降低速度)
存活期间的受力模块(Force Over Lifetime):
- XYZ:使用常量或随机曲线来控制作用于粒子上面的力。
- Space:Local自己的坐标系,World世界的坐标系。
- 随机(Randomize):每帧作用在粒子上面的力都是随机的。(两组xyz时可选择,随机范围是这两组xyz之间的差值。)
存活时间的颜色模块(Emission):
控制每个粒子存活期间的颜色(与初始颜色叠加)。粒子存活时间越短变化越快。
两种颜色随机比例互相叠加。
颜色速度模块(Color By Speed):
使粒子颜色根据其速度动画化。为颜色在1个特定范围内重新指定速度。
- 颜色(Color):用于指定的颜色。使用渐变色来指定各种颜色。
- 颜色缩放(Color Scale):使用颜色缩放可以方便的调节纯色和渐变色。
- 速度范围(Speed Range):min和max值用来定义颜色速度范围。
存活时间的大小模块(Size Over Lifetime):
- 大小(Size):控制每个粒子在其存活期间内的大小。曲线,随机双曲线或随机范围数值。
存活时间的大小速度模块(Size By Speed):
- 大小(Size):大小用于指定速度。用曲线表示各种大小。
- 速度范围(Speed Range):min和max值用来定义大小速度范围。
存活期间的旋转速度模块(Rotation Over Lifetime):
以度为单位指定值。
- 旋转速度(Rotational Speed):控制每个粒子在其存活期间内的旋转速度。使用常量,曲线,2曲线随机。
旋转速度模块(Rotation By Speed):
- 旋转速度(Rotational Speed):用来重新测量粒子的速度。使用曲线表示各种速度。
- 速度范围(Speed Range):为min和max值用来定义旋转速度范围。
碰撞模块(Collision Module):
为粒子系统建立碰撞。现在只有平面碰撞被支持,这个将很有效率的做简单探测。
- 平面(Planes):Planes被定义为指定引用。可以动画化。如果多个面被使用,Y轴作为平面的法线。
- 阻尼(Dampen):0-1 在碰撞后变慢。
- 反弹(Bounce):0-1 当粒子碰撞后的反弹力度。
- 生命减弱(Lifetime Loss):(0-1) 每次碰撞胜铭减弱的比例。0,碰撞后粒子正常死亡。1,碰撞后粒子立即死亡。
- 可视化(Visualization):可视化平面:网格还是实体
- -----网格(Grid):在场景渲染为辅助线框。
- ----实体(Solid):在场景渲染为平面。
- 缩放平面(Scale Plane):重新缩放平面
子粒子发射模块(Sub Emitter):
可以生成其他粒子系统,用下列的粒子事件:出生、死亡、碰撞。
- 出生(Birth):在每个粒子出生的时候生成其他粒子系统
- 死亡(Death):在每个粒子死亡的时候生成其他粒子系统
- 碰撞(Collision):在每个粒子碰撞的时候生成其他粒子系统。重要的 碰撞需要建立碰撞模块。见碰撞模块
纹理层动画模块(Texture Sheet Animation):
在粒子存活期间动画化UV坐标。动画每帧可以显示在表格或1个表格的每行,这样将动画分开。每帧可以用曲线动画或者在2个曲线取随机。速度被定义为"循环"、
注意:用于动画的纹理是在渲染器模块中材质找到使用的。
- 平铺(Tiles):定义纹理的平铺
- 动画(Animation):指定动画类型:整个表格或是单行。
- ----整个表(Whole Sheet):为UV动画使用整个表格。
- -------时间帧(Frame over Time):在整个表格上控制UV动画。使用常量,曲线,2曲线随机。
- ----单行(Single Row):为UV动画使用表格单独一行。
- -------随机行(Random Row):如果选择第一行随机,不选择得指定行号(第一行是0)
- -------时间帧(Frame over Time):在1个特定行控制每个粒子的UV动画。使用常量,曲线,2曲线随机。
- 周期(Cycles):指定动画速度。
渲染器模块(Renderer):
渲染模块显示粒子系统渲染组件的属性。注意:即使一个游戏物体有渲染粒子系统组件,当此模块被删除/添加后,它的属性也只能显示在这里。这个实际上是粒子系统渲染组件的添加和删除。
- 渲染模式(Render Mode):选择下列粒子渲染模式之一
- ----广告牌(Billboard):让粒子永远面对摄像机。
- ----拉伸广告牌(Stretched Billboard):粒子将通过下面属性伸缩。
- -------摄像机缩放(Camera Scale):决定摄像机的速度对粒子伸缩的影响程度。
- -------速度缩放(Speed Scale):通过比较速度来决定粒子的长度。
- -------长度缩放(Length Scale):通过比较宽度来决定粒子的长度。
- ----水平广告牌(Horizontal Billboard):让粒子延Y轴对齐,面朝Y轴方向。
- ----垂直广告牌(Vertical Billboard):当面对摄像机时,粒子延XZ轴对齐。
- ----网格(Mesh):粒子被渲染时使用mesh而不是quad。
- -------网格(Mesh):渲染粒子所用的网格引用。
- 材质(Material):材质。
- 排序模式(Sort Mode):绘画顺序可通过具体,生成早优先和生成晚优先。
- 排序校正(Sorting Fudge):使用这个将影响绘画顺序。粒子系统带有更低sorting fudge值,更有可能被最后绘制,从而显示在透明物体和其他粒子系统的前面 。
- 投射阴影(Cast Shadows):粒子能否投影?这是由材质决定的。
- 接受阴影(Receive Shadows):粒子能否接受阴影?这是由材质决定的。
- 最大粒子大小(Max Particle Size):设置最大粒子大小,相对于视窗大小。有效值为0-1。
粒子系统检视面板
管理复杂的粒子效果,untiy提供了粒子编辑器,用户从监事面板的粒子组件面板可以点击"Open Editor"按钮。
Unity3D ParticleSystem粒子系统的更多相关文章
- [原]Unity3D深入浅出 - 粒子系统(Particle System)
粒子系统是在三维空间渲染出来的二维图像,主要用于烟,火,水滴,落叶等效果.一个粒子系统由粒子发射器.粒子动画器和粒子渲染器三个独立的部分组成. Unity中自带了一些粒子效果,在Assets>I ...
- Unity3D 新版粒子系统 (Shuriken)
Shuriken粒子系统是继Unity3.5版本之后推出的新版粒子系统,它采用了模块化管理,个性化的粒子模块配合粒子曲线编辑器使用户更容易创作出各种兵分复杂的粒子效果. 创建一个粒子系统的方式有两种: ...
- Unity---------Particle Effect详情
Effects:效果/特效. Particle System:粒子系统.可用于创建烟雾.气流.火焰.涟漪等效果. 在Unity3D 3.5版本之后退出了新的shuriken粒子系统: 添加组件之后 ...
- qml demo分析(samegame-拼图游戏)
一.效果展示 相信大家都玩儿过连连看游戏,而且此款游戏也是闲时一款打发时间的趣事,那么接下来我将分析一款类似的游戏,完全使用qml编写界面,复杂逻辑使用js完成.由于此游戏包含4种游戏模式,因此本篇文 ...
- qml demo分析(maroon-小游戏)
1.效果展示 这篇文章我还是分析一个qt源码中的qml程序,程序运行效果如下图所示. 图1 游戏开始 图2 游戏中 2.源码分析 这个游戏的源码文件比较多,为了能更清楚的了解整个代码,我先整体分析 ...
- [UE4]C++代码实现播放粒子特效
转自:http://aigo.iteye.com/blog/2273345 函数参数说明(在GameplayStatics.h中) 将一个粒子放到指定位置上播放: 另一种重载形式: 将一个粒子atta ...
- Three.js粒子特效,shader渲染初探(一篇非常详细的介绍)
Three.js粒子特效,shader渲染初探 转载来源:https://juejin.im/post/5b0ace63f265da0db479270a 这大概是个序 关于Three.js,网上有不多 ...
- 《Three.js 入门指南》1.3 - Three JS 功能预览
[部分中英文对照] Cameras(照相机,控制投影方式) Camera OrthographicCamera 正交相机 PerspectiveCamera 透视相机 Core(核心对象) Buffe ...
- Unity3D学习笔记(十七):IK动画、粒子系统和塔防
新动画系统: 反向动力学动画(IK功能): 魔兽世界(头部动画),神秘海域(手部动画),人类一败涂地(手部动画) 如何启用(调整) 1.必须是新动画系统Animator 设置头.手.肘的目标点 2.动 ...
随机推荐
- winddow10下 virtualBox Ubuntu网络设置
1. virtualbox 全局设置 2. 虚拟机网络设置 3.虚拟机中设置 4. 宿主机 设置 5. 最后 在虚拟机中 ping www.baidu.com
- vue实现简单日历
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 细说java系列之注解
写在前面 Java从1.5版本之后开始支持注解,通过注解可以很方便地实现某些功能,使用得最普遍的就是Spring框架的注解,大大简化了Bean的配置. 注解仅仅是一种Java提供的工具,并不是一种编程 ...
- SpringBoot系列: SpringBoot 启动慢的问题
SpringBoot 应用启动速度往往很快, 但在某些Linux 服务器上可能会很慢, 可能超过1分钟, 有时候甚至启动不起来. 下面过程耗时太长:IdGeneratorBase: Creation ...
- qlikview 权限管理和sso集成
简单总结一下 qlikview 权限管理和SSO集成的过程, 在集成qlikview报表过程中碰到了很多坑, 甚至官方文档也不准确. 如果你也有类似的需求, 可以参考一下本文. 需要说明的是, 本 ...
- JAVA正确地自定义比较对象---如何重写equals方法和hashCode方法
在实际应用中经常会比较两个对象是否相等,比如下面的Address类,它有两个属性:String province 和 String city. public class Address { priva ...
- C#执行JavaScript脚本代替Compute
DataTable.Compute不支持round之类的函数,可以调用JScript实现. 1.添加引用Microsoft.Vsa和Microsoft.JScript2.例子代码 object ret ...
- 三十、Linux 进程与信号——信号的概念及 signal 函数
30.1 信号的基本概念 信号(signal)机制是Linux 系统中最为古老的进程之间的通信机制,解决进程在正常运行过程中被中断的问题,导致进程的处理流程会发生变化 信号是软件中断 信号是异步事件 ...
- 【C++】 网络编程 01
趁着计算机网络这门课布置了课程设计,学习下网络编程. 系统:Ubuntu 14.01... 1. 关于Socket(套接字) 1.1 套接字是存在于运输层和应用层间的抽象层,通过它来区分不同应用程序进 ...
- 转载-MySQL binlog三种模式及设置方法
原文地址:http://www.cnblogs.com/yangliheng/p/6187327.html 1.1 Row Level 行模式 日志中会记录每一行数据被修改的形式,然后在slave端 ...