Unity特效学习:粒子

Posted by 蔡华的博客 on December 9, 2017

参数

  • 只记录一些特别的参数
  • Prewarm: 预热,效果是直接播一个周期后的效果。也就是呈现一个周期的最终效果。目前来看应该是用到一些一开始就呈现效果的场合。
  • StartSpeed:这个是很常规的参数,但是当为负数时粒子方向会相反。值得留意。
  • Color:
    • Gradient:梯度,更像是设定一个颜色的变化范围。但是某个粒子从创建之后颜色不会变化。
    • Random:粒子颜色从两个值随机取
    • 还有梯度随机
    • 纯粹随机:这个可以自定义N个颜色区间。
    • 梯度编辑器很强大。注意:点击颜色条上沿添加的节点是调整alpha的,下沿是调整颜色的。藏的好深啊。
  • Emission:
    • Rate over Distance:按照移动距离发射粒子。不动的情况下就不发射。可以用来模拟移动的汽车的尾气。动起来才有,不动就没有了。必须配合world模式。
  • Shape:
    • 发射器可以选择不同的形状。当选择了Emit from为Base shell,并且将start speed设置为0时粒子就会出现在外轮廓的固定位置。可以呈现比较特殊的粒子效果。尤其是圆形或者柱状时。 image
    • mesh:想做特殊形状的粒子需要这个,很特别,看下图。 image
  • Velocity over lifetime: 简单来说就是在生命周期中给与一个3D方向的移动速度。比如我们只给x一个5的值,那么看上就是有粒子北风吹走的感觉了。目前想到的就是风吹的效果。
  • Limit Velocity over lifetime: 速度的衰减。speed为最终速度、dampen为删减的速度。基本上的公式应该是speed = start speed - dampen * time。只给可以配合Velocity over lifetime实现一个更为真实的风吹效果。
  • Rotation over left:这个主要是旋转粒子,材质球选择一个具体的纹理图后比较明显。现在看效果比较适合做技能特效。
  • External Force:配合风场更适合做各种风的效果。具体设置看Demo。

  • Sub Emitters:自发射器可以实现多个粒子的配合效果,最常用的就是烟花。
    • birth:主粒子产生时产生子粒子
    • collision:主粒子碰撞时产生子粒子
    • death:主粒子消失时产生子粒子
    • 在death粒子如果想做出一次性的烟花效果需要注意:首先lifetime要短,其次总离子数量要小于rate over time,这样才能实现一次性发射所有的粒子。具体设置见demo。

image

  • Texture Sheet Animation:粒子序列帧动画。需要在材质球中配合特别的序列动画纹理图。最常见的就是做火焰。这个功能极其强大。
    • Tiles:动画纹理中动画的横轴纵轴的数量。我demo中的图是8x8的,所以这里也要设置成8x8。

image

说明
  • Demo的地址为https://github.com/klkucan/UnityEffect