前言

上一篇我们简要讲述了粒子系统是什么,如何添加,以及基本模块的介绍,以及对于曲线和颜色编辑器的讲解。从本篇开始,我们将按照模块结构讲解下去,本篇主要讲粒子系统的主模块,该模块主要是控制粒子的初始状态和全局属性的,以下是关于该模块的介绍,请大家指正。

目录

  • 前言
    • 本系列提要
  • 一、粒子系统主模块
    • 1.阅读前注意事项
    • 2.参考图
    • 3.参数讲解
      • Duration
      • Looping
      • Prewarm
      • Start Delay
      • Start Lifetime
      • Start Speed
      • 3D Start Size
      • Start Size
      • 3D Start Rotation
      • Start Rotation
      • Flip Rotation
      • Start Color
      • Gravity Modifier
      • Simulation Space
      • Simulation Speed
      • Delta Time
      • Scaling Mode
      • Play On Awake
      • Emitter Velocity
      • Max Particles
      • Auto Random Seed
      • Random Seed
      • Stop Action
      • Culling Mode
      • Ring Buffer Mode
  • 二、总结和参考资料
    • 1.总结
    • 2.参考资料

本系列提要

Unity粒子系统专题博客共分成十二篇来讲解: 【本篇为第二篇】

  • 第一篇(点击直达):粒子系统概述
  • 第二篇(点击直达):主模块
  • 第三篇(点击直达):Emission、Shape模块
  • 第四篇(点击直达):Renderer、Custom Data模块
  • 第五篇(点击直达):Noise模块
  • 第六篇(点击直达):生命周期相关模块
  • 第七篇(点击直达):Collision、Triggers模块
  • 第八篇(点击直达):Inherit Velocity、Sub Emitters模块
  • 第九篇(点击直达):Texture Sheet Animation模块
  • 第十篇(点击直达):Light、Trails模块
  • 第十一篇(点击直达):粒子系统力场(Force Field)组件和External Forces模块
  • 第十二篇(点击直达):案例与应用

前排提醒:本文仅代表个人观点,以供交流学习,若有不同意见请评论留言,笔者一定好好学习,天天向上。

Unity版本[2019.4.10f1] 梦小天幼 & 禁止转载

视频讲解:
【详解Unity】粒子系统(二) | Particle System | 主模块讲解 | 哔哩哔哩


一、粒子系统主模块

1.阅读前注意事项

注1:由于参数过多且个别参数难以理解,所以本篇的所有参数都作为四级目录存在,方便读者定位查阅

2.参考图

3.参数讲解

Duration

粒子系统运行的时间长度(秒)

Looping

若启用此属性,系统将重复播放粒子,也就是开启循环模式(无论是Scene窗口还是运行时)

Prewarm

若启用此属性,则粒子系统会在播放前进行预加载,比如漫天星河有3000颗粒子,但按照粒子发射速率,估计要好多秒,勾选此项,一旦播放就会达到预设置的Max Particles(下面有这个属性的介绍)

Start Delay

粒子系统发射前将延迟播放一段时间(秒)

Start Lifetime

每个粒子的初始生命周期(秒),指粒子被创建出来到自动销毁的这段时间

Start Speed

每个粒子的初始速度

3D Start Size

若要分别控制每个轴的大小,请启用该属性

Start Size

每个粒子的初始大小,按照给定值等比缩放,若要单独控制三个轴请启用3D Start Size

3D Start Rotation

若要分别控制每个轴的旋转角度,请启用该属性

Start Rotation

每个粒子的初始旋转角度,按照给定值等比缩放,若要单独控制三个轴请启用3D Start Rotation

Flip Rotation

使一些粒子以相反的方向旋转,数值在0-1之间,数值越大,翻转越多

这里不要懵,这个属性和上一个Start Rotation是一对,如果上一个属性有值,比如45,那么下面这个属性就是让一些粒子反转度数为-45,如果这里的值是0.1,那就是让10%的粒子反转,如果值为1,则是全部反转

Start Color

每个粒子的初始颜色

Gravity Modifier

缩放物理系统的重力值,值为零会关闭重力,想要让粒子受到物理系统的重力影响,将值设为1即可

Simulation Space

当前粒子系统的参照坐标,一共三个选项,世界、局部、自定义

自定义坐标可选择一个物体,将参照这个物体的坐标作为参照

Simulation Speed

调整粒子系统的更新速度

把粒子特效比作一个视频,值为0.3就是按照0.3倍速播放,值为1则是原速播放

Delta Time

在 Scaled 和 Unscaled 之间进行选择,其中的 Scaled 使用 Time Scale 值,而 Unscaled 将忽略该值。

Scaling Mode

选择如何使用transform中的缩放
1.Hierarchy 粒子跟随父级进行缩放
2.Local 忽略父级缩放
3.Shape 整体缩放是按照当前粒子的发射Shape来缩放的,且不影响粒子本身缩放,选Local则会影响粒子本身缩放

这里缩放了整体,但粒子本身并没有变扁

Play On Awake

若启用该属性,则粒子被创建时就开始播放

Emitter Velocity

发射器速率,使用哪种组件方法来计算速度(.translate .velocity)
Rigidbody
Transform

Max Particles

系统同时允许的最多粒子数,如果到达该值,则移除生命周期最长的粒子(活得最久的)

Auto Random Seed

若启用该属性,则每次初始化发射粒子,粒子各自位置不一样。也就是随机。

Random Seed

若禁用Auto Random Seed,则该值生效,该值用于创建唯一的可重复的粒子效果。

比如拿到我的世界随机种子,就可以生成一个一模一样的世界,该值如果不变,则粒子初始位置永远一致

Stop Action

当所有粒子的生命周期都结束时,系统自动执行下列某个操作
1.Disable 禁用当前对象
2.Destroy 销毁当前对象
3.CallBack 将 OnParticleSystemStopped 回调函数发送给附加到游戏对象的任何脚本
注:若Looping处于激活状态,则该属性不生效(因为你都循环了,我就没法结束了)

Culling Mode

当粒子特效不在摄像机范围内时是否暂停粒子系统模拟
1.Automatic 自动模式(如果是单次播放则不暂停,如果是循环(Looping)播放则暂停模拟)
2.Pause And Catch-up 暂停但是没有完全暂停(暂停模拟,但当再次注视时则演算出它应该在的位置)
3.Pause 暂停模拟
4.Always Simulate 总是模拟

Ring Buffer Mode

粒子不会在它们的生命周期结束时死亡,而是会一直存活到最大粒子缓冲区(Max Particles)满,届时新的粒子将取代旧的粒子。
1.Disabled 禁用该模式
2.Pause Until Replaced 暂停直到替换
3.Loop Until Replaced 循环直到替换(Particle lifetimes may loop between a fade-in and fade-out time, in order to use curves for the entire time they are alive. Values are in the 0-1 range / 粒子的生命周期可能在渐入渐出时间之间循环,以便在它们活着的整个时间内使用曲线。取值范围是0 ~ 1 / 这里不理解,贴出原文,你们自己理解吧)


二、总结和参考资料

1.总结

无总结

2.参考资料

[1].Unity官方.官方手册-粒子系统模块-Main module
[2].菜鸟MAY.2018.1粒子系统概述

详解Unity中的粒子系统Particle System (二)相关推荐

  1. 详解Unity中的粒子系统Particle System (三)

    前言 上一篇我们详细讲解了有关主模块的全部内容,已经对粒子系统的基本运作有了足够的了解,本篇就来讲一下被粒子系统默认启用的Emission.Shape.Renderer模块又在粒子系统中扮演着怎么样的 ...

  2. 详解Unity中的粒子系统Particle System (一)

    前言 游戏中很多炫酷效果的背后都离不开粒子系统,比如击中.爆炸.火焰.崩塌.喷射.烟雾等等.Unity也我们提供了强大的粒子系统,模块化的设计,上百个参数供我们调节使用,足以创造出非常震撼的效果了,本 ...

  3. 详解Unity中的粒子系统Particle System (七)

    前言 本篇来讲一讲Collision和Triggers模块,这两个模块主要用于粒子系统与物理世界的交互,一个是碰撞器,另一个是触发器.有了这两个模块我们又可以做出更炫酷的粒子效果啦! 目录 前言 本系 ...

  4. 详解Unity中的粒子系统Particle System (九)

    前言 今天讲Texture Sheet Animation模块,先前我们已经讲了很多很多模块,通过上述模块可以实现很酷的效果,但是缺了一点真实感.比如说爆炸特效,仅指望单独的粒子来模拟真实的爆炸效果是 ...

  5. 详解Unity中的粒子系统Particle System (四)

    前言 上一篇我们主要讲解了Shape形状模块,以及Emission发射模块,这是粒子系统中最为重要的两个模块,学会了它们我们足以做出惊艳的效果,比如霰弹枪的发射,蘑菇蛋的冲击波等等.本篇讲的内容依旧重 ...

  6. 详解Unity中的粒子系统Particle System (十一)

    前言 今天讲最后一个模块--External Forces,该模块需要和Force Field组件配合使用,作用是模拟物理的力对粒子的影响.至此,Unity内置粒子系统的最后一块物理砖补齐,理论上来讲 ...

  7. 详解Unity中的粒子系统Particle System (八)

    前言 书接上回,咱们继续讲粒子系统,本篇该说Inherit Velocity和Sub Emitters这两个模块,依旧是重量级选手,特别是Sub Emitters这个模块,有了它,我们的粒子效果可以做 ...

  8. 详解Unity中的粒子系统Particle System (六)

    前言 今天写粒子系统的第六篇文章,讲到这,一些主要模块其实已经讲完了,剩下的就是一些无关紧要或者更加高级的模块了,比如涉及到物理碰撞模块的,涉及到光照系统模块的等等.今天先把剩余无关紧要的模块给讲了, ...

  9. 详解Unity中的粒子系统Particle System (五)

    前言 通过前几篇的学习,我们已经知道了粒子系统的几大基础模块的设置,有了这些模块的知识,我们足以做出惊艳的效果了.今天我们再学一个新的模块,叫做Noise模块,中文译为噪波.噪声.湍流模块等.这个模块 ...

最新文章

  1. 2021年移动云API应用创新开发大赛火热开启!
  2. javascript语言学习
  3. 学习笔记27—python中numpy.ravel() 和 flatten()函数
  4. 2、Mysql 8.0.20最新版本修改密码
  5. [BUUCTF-pwn]——wustctf2020_getshell_2
  6. php封装公共方法,TP框架下封装公共函数详解
  7. 【PAT - 甲级1005】Spell It Right (20分) (递归输出,水题)
  8. [Android] 开源View组件(一)
  9. CSS 浮动 float属性
  10. react 把前后台的axios请求放在一起_可靠React组件设计的7个准则之SRP
  11. java sleep唤醒_[JavaEE]如何唤醒Sleep中的线程
  12. 详解YUV数据格式(YUV444,YUV422,YUV420,YV12,YU12,NV12,NV21)
  13. Word 2019怎样自定义模板,并将自定义模板设为默认模板
  14. 苹果计算机磁盘格式,苹果电脑上怎么进行格式化磁盘?
  15. 高斯过程回归预测 C++代码实现
  16. 关于eclipse发送桌面快捷方式后打不开的问题
  17. 谷歌地图高清卫星地图
  18. threejs 加载两个场景_three.js 场景切换
  19. Live2D 学习 安装插件
  20. python中的正则表达式(re模块)

热门文章

  1. Xilinx FPGA高速串行收发器简介
  2. python打开上层文件
  3. 推荐:常用的代码编辑器!
  4. win10电脑不显示WIFI
  5. visio-软件设计的各种图
  6. seo日常工作表_SEO日常工作内容主要有哪些
  7. 系统安全及应用实验案例
  8. 一种结合基于股债利差的A股估值百分位、有限价值策略定投和股债组合投资的创新型低回撤高收益稳健理财方法
  9. yi.k7p.co/index.php,Muzeum Jarocin
  10. 编程实战赛来啦!B站周边、高级会员等好礼送你啦!