• Unity---------Particle Effect详情


    Effects:效果/特效。

         

         Particle System:粒子系统。可用于创建烟雾、气流、火焰、涟漪等效果。

         在Unity3D 3.5版本之后退出了新的shuriken粒子系统:

         

         添加组件之后的效果:

         

         其中的Open Editor按钮可以打开粒子编辑器,用于编辑复杂的粒子效果。

        

        

        由于shuriken粒子系统是模块化的管理方式,所以可以动态的添加模块:

        

        1.初始化模块:此模块是效果组件固有的模块。

        

        Duration:粒子发射器,发射粒子的时间。单位为S(秒)。

        Looping:是否开启。如果开启了循环,Duration值只要大于最小值0.10即可。

        Prewarm:是否开启预热。只有在开启的循环的时候,预热才有效果,粒子量相似发射了一个粒子周期。

        Start Delay:预热延迟。游戏开始多长时间后,预热开启。单位为S。

        Start Lifetime:粒子从发射器出来,到消失的时间。单位为S。

        Start Speed:粒子发射的速度。

        Start Size:粒子大小。

        Start Rotation:粒子的旋转角度。

        Start Color:粒子的颜色。

        Gravity Multiplier:设置重力对粒子的影响,数值越大影响越大。

        Inherit Velocity:速度继承。当粒子系统是运动的时候,粒子的速度会继承运动的速度。但粒子坐标系必须在世界坐标系。

        Simulation Space:坐标系是本身还是世界坐标系。

        Play On Awake:在游戏开始播放,但不影响Start Delay效果。

        Max Particles:粒子释放的最大数量,当达到最大数量时,停止释放粒子,当有粒子消失时继续释放。

        2.Emission Module(粒子发射模块)用于粒子发射的速率。或是某个特定时间发射大量的粒子,用于模拟爆炸的效果。

        

        每秒发射粒子数量。Bursts为某个时间点爆发出粒子的数量,这个时间必须在粒子Duration范围内。

        

        每米发射粒子数量。粒子发射器所在的游戏对象,移动的时候每米发射的粒子,但粒子坐标系必须在世界坐标系。

        3.Shape Model(形状控制模块):定义了粒子发射器的形状,位置及发射方向。

        球形粒子发射器:

        

          Radius:球形的半径。

          Emit from Shell:是否从表面发射粒子,还是从内部发射。

          Random Direction:是否启用随机速度。

          

        半球发射器:

        

          

        锥体发射器:

        

          Angle:椎体,上边开口的大小。

          Radius:半径的大小。

          Length:椎体的高度。只有当Emit from 值为Volume Shell或是Volume时可用。

          Emit From:粒子发射的位置。

          ——————Base:粒子发射源在椎体的内部的底面上,由底面开始发射。

          ——————Base Shell:粒子发射源在椎体底面的边缘,就是周长那一圈发射。

          ——————Volume:粒子发射源在椎体内部空间。

          ——————Volume Shell:粒子发射器在椎体整个表面上。没有底面。

          

        立方体发射器:

        

          Box X:立方体长度。

          

        网格发射器:

        

          Mesh:选择网格样式。

          ——————Vertex:粒子将从网格顶点发射。

          ——————Edge:粒子将从网格边缘(棱)发射。

          ——————Triangle:粒子将从网格的三角面发射。图形都是三角形组成的。

        4.生命周期速度模块:控制每一个粒子的速度。

        

        5.生命周期速度限制模块:

        

          Separate Axis:是否启用限制每一个轴。

          Speed:限制的速度。

          Dampen:阻尼。阻尼为1的时候表示在生命周期结束的时候,速度降到限定的速度。

        6.生命周期作用力模块:控制每一个粒子在生命周期内受到力的情况。

        

          Randomize:只有在Random Between Two Constants或Random Between Two Curves时才可启用。

                表示每一帧作用在粒子上的力是均匀随机产生的。

        7.生命周期颜色模块:控制每一个粒子在生命周期内颜色的变化。

        

          

        

          

        8:速度范围颜色变化控制模块:根据设置速度的范围和粒子的速度来改变粒子的颜色。

        

          

        9:生命周期粒子大小模块:控制每个粒子在生命周期内,大小的变化。

        

        

          

        10:速度范围粒子大小变化控制模块:根据速度的变化改变粒子的大小。

        

        

          

        11:生命周期每个粒子的旋转速度:每秒粒子旋转的角度。

        

          

        12:根据速度变化改变粒子的旋转速度:旋转速度不为固定常数时。

        

          

        13:外部作用力倍增数:调整风对粒子的影响情况。

        

        14:碰撞模块:为粒子创建粒子碰撞效果,目前只支持平面碰撞。

        

        平面碰撞只支持6个平面,点击+号可以添加现在有的平面或是新建立一个。

        

        通过新建立了碰撞平面,会成为粒子物体的子物体。

          

          

         Visualization:碰撞平面的显示方式。

         ——————Grid: 

         ——————Solid:

        Scale Plane:碰撞平面的大小。

        Dampen:阻尼系数。粒子速度撞击损耗程度。0~1。

        Bounce:反弹系数。0~2.系数越大,反弹角度越小。

        Min kill Speed:最小销毁速度。当速度小于这个值的时候,粒子消失。

        Particle Radius:粒子碰撞半径。最小值为0.01。

        世界碰撞:

        

        Collides With:碰撞层级。选择与那一层级碰撞。

        Collision Quality:碰撞质量。

        ——————High:每个粒子会每帧与场景做一次射线碰撞检测,需要注意的是,这样会增加CPU的负担,故在此情况下整个场景中的粒子数应当小于1000。

        ——————Medium:粒子系统在每帧会受到一次Parude Raycast Budget全局设定的影晌。

        ——————Low:与 中等效果相似 ,只 是粒子系统每4帧才受一次Parude Raycast Budget全局参数的影晌。

        ——————Voxel Size:碰撞缓存中的体素的尺寸,仅当Collision Quality为Medium和Low时可用。

        15:子粒子发射模块:在粒子出生,碰撞,消灭时可以调用其他粒子。

        

        

         16:序列帧动画纹理模块:

        

        Tiles:x水平分割的份数,y垂直分割的份数。

        Animation:Whole Sheet-整个页面即X,Y一起移动。

        Frame over Time:生命周期内,动画变幻的速率。

        Cycles:生命周期内变化几次动画。

        

        Animation:Single Row-从左到右行滚动。

        Random Row:随机行。

        Row:选择某一行,开始滚动,小于Tiles中的Y。

        17:粒子的渲染模块:

        

        Render Mode:渲染模式。

        ——————Billboard:面板渲染。

        ——————Vertical Billboard垂直渲染,此模式当面对摄像机时,粒子将与zX平面对齐

        ——————Horizontal Billboard:水平模式,此模式下粒子将沿Y轴对齐。

        ——————Stretched Billboard:拉伸渲染。

              

              ————CameraScale:相机缩放。摄像机的速度对于粒子伸缩影晌的程度。speed Scale:通过比较粒子的速度决定粒子的长度。 LengthScale:通过比较粒子的宽度决定粒子的长度。

              

        ——————Mesh:模式。

        

        

        18:属性:

        

        Resimulate:实时渲染。在改变参数的时候,场景中的粒子效果实时变化。

        Wireframe:选择时,将显示粒子的片面网格。

        

    原创文章如需转载请注明:转载自 脱莫柔Unity3D QQ群:【119706192】本文链接地址: Unity3D ParticleSystem粒子系统(3.5版)【初级】

    创建"粒子系统物体"(点击菜单GameObject -> Create Other -> Particle System)

    添加"粒子系统组件"(点击Component -> Effects  -> Particle System)

    粒子系统检视面板

     点击粒子系统检视面板的右上角的"+"来增加新的模块。(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):

    回顶部

    发射器形状内部随机位置生成,并能提供初始的力,该力的方向将延表面法线或随机方向发射。

    1. 球体【Sphere】
      • 半径(Radius):球体的半径。
      • 从外壳发射(Emit from Shell):从球体外壳发射。
      • 随机方向(Random Direction):随机方向或是沿表面法线。
    2. 半球【Hemisphere】
      • 半径(Radius):半椭圆的半径。
      • 从外壳发射(Emit from Shell):从半椭圆外壳发射。
      • 随机方向(Random Direction):随机方向或是沿表面法线。
    3. 锥体【Cone】喇叭~
      • 角度(Angle):圆锥的角度(喇叭口)。如果是0,粒子将延一个方向发射(直筒)。
      • 半径(Radius ):发射口半径。
    4. 立方体【Box】
      • Box X:X轴的缩放值
      • Box Y:Y轴的缩放值
      • Box Z:Z轴的缩放值
      • 随机方向(Random Direction):粒子将延一个随机方向发射(取消:延Z轴发射)。
    5. 网格【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"按钮。

  • 相关阅读:
    分布式事务基本概念
    rocketmq源码分析3-consumer消息获取
    Mac下的Eclipse不能记住工作空间问题
    rocketmq源码分析2-broker的消息接收
    rocketmq源码分析1-benchmark学习
    metrics
    slf4j与logback对接是如何将日志写到控制台的
    Spring AOP
    hibernate数据库连接池,常用配置
    动态代理
  • 原文地址:https://www.cnblogs.com/w-wfy/p/7323252.html
Copyright © 2020-2023  润新知