其他分享
首页 > 其他分享> > UnityParticle1:粒子系统简介

UnityParticle1:粒子系统简介

作者:互联网

 

前置:UnityShader

一、创建粒子

创建方式:GameObject -> Effects -> ParticleSystems,这和创建 3D 物体方法一样,就是分类选择 Effects 就好

粒子系统这特殊又复杂的 Inspector 界面初看感觉很吓人,这是因为粒子的属性实在是太多了,因此不得不将它们分为一个一个模块,模块左边复选框上的勾勾就表示启用该模块,一般来讲,最常用的就是 Emission & Shape 和 Renderer

当然对于模块的了解可以放放,后面有机会用到时再看也不迟

粒子特效预览界面

从上到下依次为:

Unity默认粒子特效

注意粒子和粒子系统的区别

 

二、粒子模块

粒子系统主模块(Particle System)

包含影响整个系统的全局属性,大多数这些属性用于控制新创建的粒子的初始状态

  1. Duration:粒子系统运行时间,时间结束后不会再发射粒子,但已经发射出的粒子当然不会消失
  2. Looping:如果启用此属性,系统将在其持续时间结束时再次启动并无限循环
  3. Prewarm:粒子预热,必须启用 ②Looping 才生效,如果启用此属性,则在粒子开始产生时,默认系统已经完成了一个生命周期(即完成了一个 ①Duration)
  4. Start Delay:启用此属性后,系统开始发射粒子前将延迟一段时间(单位:秒)
  5. Start Lifetime:单个粒子的生命周期持续时间,结束后该粒子被销毁
  6. Start Speed:单个粒子在发射方向的初始速度
  7. 3D Start Size / Start Size:粒子发射时的初始大小,需要注意的是,如果你设置了 3D Start Size Z 轴的大小,那么必须要保证粒子是 3D 的,这个在 Renderer 中有设置
  8. 3D Start Rotation / Start Rotation:粒子发射时的初始旋转度数
  9. Flip Rotation:范围 [0, 1],使一定百分比的粒子按照相反的方向旋转
  10. Start Color:每个粒子的初始颜色
  11. Gravity Modifier:缩放 Physics 窗口中设置的重力值,值为零会关闭重力影响,这个属性可以暂时不用管,默认就好
  12. Simulation Space:控制粒子的运动位置是在父对象的局部空间中(与父对象一起移动)、在世界空间中还是相对于自定义对象(与选择的自定义对象一起移动)
  13. Simulation Speed:整个粒子系统的发射速度
  14. Delta Time:是否受 Time 窗口中的 TimeScale 值的影响,Unscaled 为忽略该值(例如想要游戏暂停时,粒子特效依旧播放)
  15. Scaling Mode:控制粒子的缩放模式,Hierarchy 是受自身的缩放影响,也受父级的缩放影响;Local 只受自身的缩放影响,Shape 不受缩放影响
  16. Play on Awake:如果启用此属性,粒子系统会在创建对象时自动启动,否则需要代码控制,注意这个设置会同时对整个对象下所有的粒子系统生效
  17. Emitter Velocity:选择粒子系统如何计算 Inherit Velocity 和 Emission 模块使用的速度。系统可使用刚体组件(如果存在)或通过跟踪变换组件的移动情况来计算速度,这个属性可以暂时不用管,默认就好
  18. Max Particles:粒子系统中粒子数量上限,如果超过限制,则会移除一些粒子
  19. Auto Random Seed:每次粒子系统启用时,是否使用不同的随机种子,如果停用此属性,则每次播放的粒子效果会完全一致
  20. Random Seed:停用 ⑲Auto Random Seed 时,此值为指定的随机种子
  21. Stop Action:当属于粒子系统的所有粒子都已完成其生命周期时,可使系统执行某种操作,这个操作可以是禁用(Disable)、销毁(Destroy),或者将 OnParticleSystemStopped 回调(Callback)发送给附加到游戏对象的任何脚本(当一个系统的所有粒子都已死亡,并且系统存活时间已超过 ①Duration 设定的值时,判定该系统已停止;对于循环系统,只有在通过脚本停止系统时才会发生这种情况)
  22. Culling Mode:选择粒子在屏幕外时,对粒子系统的处理,这个属性可以暂时不用管,默认就好
  23. Ring Buffer Mode:将粒子从粒子系统中移除的方式,这个属性可以暂时不用管,默认就好

对于极大多数的属性,点击右边的箭头符号都可以看到一些额外的设置,这就意味着这个值可以使用动态值,而非定值,例如你想要粒子的初始发射速度在一定范围内随机决定

一个颜色设定的例子:

其它模块

 

三、主模块应用和测试

 

参考文章:

 

标签:粒子系统,生命周期,粒子,简介,UnityParticle1,模块,速度,属性
来源: https://blog.csdn.net/Jaihk662/article/details/115416008