粒子系统简介
Tutorial
·
Beginner
·
+0XP
·
15 mins
·
(109)
Unity Technologies

Unity提供强大的粒子系统,可以模拟流动液体、烟雾、云、火焰、魔咒和一系列其他效果。在本教程中,您将概要了解粒子系统及其功能,并学习在项目中融入自己的构想。
Languages available:
1. 什么是粒子系统?
Unity粒子系统(又称为Shuriken)是一种强大的粒子特效系统,您可以利用该系统模拟流动液体、烟雾、云、火焰、魔咒和一系列其他效果。该系统使用网格或Sprites来呈现那些通常难以描绘的效果,即一种流动且无形的状态。
粒子系统是Unity中非常强大深入的系统,涵盖的内容很多,包括各模块的说明以及每个模块可以独立执行的功能。本文将重点介绍粒子系统及其功能。
2. 添加粒子系统
可通过多种方式向项目添加粒子系统:
- 从“Effects”下拉菜单中选择“Effects”>“Particle System”。
- 要向现有GameObject添加粒子系统,请选择该GameObject。在组件中,单击“Add Component”,然后在搜索字段中输入“Particle System”。
添加粒子系统后,将会在“Inspector”选项卡(图01)中看到粒子系统属性。

Figure 01: Particle System Component, Main properties
3. 粒子系统属性
您会看到一个发射器将白色Sprites向上随机发射到场景中。
- 在场景中选中它或使用层次结构,即可选择此粒子系统(图02)。

Figure 02: Particle System in the Unity Scene
这样就可看出系统的实际大小。粒子系统有一些可以进行配置的基本设置(图01)。在粒子系统Inspector中,您会看到大量选项卡,这些称为“Module”(图03)。

Figure 03: Modules of a Particle System
通过Module可对粒子系统进行进一步设置。默认可展开的主要属性称为“Main Module”(图01)。
- 选择“Emission and Shape Module”,展开以显示其设置(图04)。

Figure 04: Emission and Shape Modules expanded
通过这些Module,可以进一步自定义效果。现在,我们重点介绍包含常见粒子设置的“Main Module”。
- Duration:如果未勾选“Looping”,此选项可确定粒子发射的持续时间。
- Looping:确定粒子系统是循环发射还是单次发射。
- Prewarm:启用“Looping”时才能使用。启用此选项时,粒子系统就像是启动时已完成一个周期的粒子发射。
- Start Delay:粒子系统开始发射之前的延迟时间(以秒为单位)。
- Start Lifetime:粒子的初始寿命(以秒为单位)。粒子将在这段时间过后销毁。
- Start Speed:粒子的初始速度。粒子的速度越快,散布范围越广。
- 3D Start Size:将初始大小从常量更改为向量。
- Start Size:粒子的初始大小。
- 3D Start Rotation:将起始旋转值从常量更改为向量。
- Start Rotation:粒子的初始旋转角度。
- Start Color:粒子的初始颜色。
- Gravity Modifier:在Unity的“Physics Manager”窗口调整重力值设置。如果值设置为“0”,重力将关闭。
- Simulation Space:使本地空间中的粒子随粒子系统移动。世界空间中的粒子在发射后即可自由移动。
- Simulation Speed:设置粒子的模拟速度。
- Delta Time:将增量时间从“Scaled”更改为“Non-Scaled”。“Scaled”时间是指与帧相关的时间,仅在游戏运行时才会计入。“Non- Scaled”是指从游戏开始经过的时间,对于在游戏暂停期间运行效果十分有用。
- Scaling Mode:可更改缩放模式,有“Local”、“Shape”或“Hierarchy”三个选项。
- Play on Awake:启用后立即开始发射。如果关闭此选项,您需要利用脚本或动画系统手动激活粒子系统。
- Emitter Velocity:允许您将发射器的速度从“Rigidbody”更改为“Transform”。
- Max Particles:特定的粒子系统每次能够存活的粒子数量上限。到达上限后便不再发射任何粒子。
- Auto Random Seed:启用自动生成种子,从而随机创建粒子。
- Stop Action:确定当粒子系统停止或所有粒子消亡时,是否禁用或销毁自身。
4. 粒子系统脚本编写
每个模块都有与其相关的特定附加设置。借助Unity中的粒子系统,您还可通过脚本来访问、修改、禁用粒子系统。与粒子系统类似,我们可以通过代码,以灵活可靠的方式影响粒子系统。向GameObject添加粒子系统后,即可检索粒子系统(图05)。

Figure 05: Getting the particle system component via script
然后可深入研究ParticleSystem变量,以访问所有其他可用方法和功能。您还可通过代码运行或停止粒子系统(图06)。

Figure 06: Modifying the Particle System via code
5. 总结
Unity的Shuriken粒子系统是一个强大的多功能系统,提供多种选项和设置,通过合理配置可帮助您创建各种自定义特效。这些特效可能包括火焰、水、流动模拟或卡通爆炸。无论是新手还是专业人士,都可使用大量控件和强大功能随心创建所需内容。