Appearance
粒子与特效系统
粒子与特效系统是什么
它专门负责做那些“不像实体物体”的视觉效果,比如:
- 火焰、烟雾、爆炸
- 下雨、下雪、灰尘
- 金币闪光、升级光效
- 子弹拖尾、刀光、魔法弹
- 传送门、能量场、命中特效
你先记一句话:
粒子特效 = 发射器 + 很多粒子 + 模块参数 + 材质贴图 + 渲染方式 + 脚本触发1. Particle System:发射器
Particle System 是一个组件,通常挂在 GameObject 上。
它像一个“喷头”:
FireEffect
Transform
ParticleSystem这个喷头可以喷出很多小粒子。 这些小粒子一起看起来就像火、烟、雨、光点、爆炸。
2. Particle:粒子
粒子不是一个个真正的 GameObject。 它们通常是很多小图片或者小 Mesh,由系统统一管理。
每个粒子通常有:
| 属性 | 意思 |
|---|---|
| Position | 在哪里 |
| Velocity | 往哪里动 |
| Color | 什么颜色 |
| Size | 多大 |
| Rotation | 旋转角度 |
| Lifetime | 活多久 |
比如火焰粒子可能是:
出生:底部
方向:往上
颜色:黄 -> 橙 -> 红 -> 透明
大小:逐渐变大
寿命:0.5 秒3. Module:模块
Particle System 的 Inspector 里有很多模块。 调粒子,本质上就是调这些模块。
新手重点先学这些:
| 模块 | 作用 |
|---|---|
| Main | 控制持续时间、循环、粒子寿命、初始速度 |
| Emission | 控制每秒喷多少、是否瞬间爆发 |
| Shape | 控制从哪里喷、往哪个方向喷 |
| Velocity over Lifetime | 控制粒子飞行过程中的速度 |
| Force over Lifetime | 给粒子加力,比如风、重力 |
| Color over Lifetime | 颜色随时间变化 |
| Size over Lifetime | 大小随时间变化 |
| Noise | 让运动有随机扰动 |
| Collision | 粒子和场景碰撞 |
| Trails | 给粒子加拖尾 |
| Renderer | 决定粒子怎么被画出来 |
4. 粒子生命周期
你可以把一个粒子的一生理解成:
出生 -> 移动 -> 变化 -> 消失比如一个爆炸火花:
出生:瞬间喷出很多个
移动:快速向四周飞
变化:颜色从黄变红,逐渐变暗
消失:寿命结束后透明消失这就是特效的核心思路。
5. Particle System 和 VFX Graph
Unity 里常见两套特效工具:
| 工具 | 适合什么 | 新手建议 |
|---|---|---|
| Particle System | 常规火焰、烟雾、爆炸、UI 闪光 | 先学这个 |
| Visual Effect Graph | 大量粒子、复杂节点、GPU 特效 | 后面进阶再学 |
你现在零基础,建议先把 Particle System 学会。 它更直观,和 GameObject、Inspector、脚本系统结合得更简单。
6. 脚本播放粒子
常见写法:
using UnityEngine;
public class HitEffect : MonoBehaviour
{
[SerializeField] private ParticleSystem hitFx;
public void PlayHitEffect()
{
hitFx.Play();
}
}比如子弹命中敌人时:
检测命中
↓
调用 PlayHitEffect()
↓
播放命中特效7. 新手学习顺序
建议你这样学:
- 创建一个
Particle System - 先调
Main:寿命、速度、大小 - 再调
Emission:持续喷还是瞬间爆 - 再调
Shape:从点、圆、球、锥形发射 - 学
Color over Lifetime - 学
Size over Lifetime - 学
Renderer和材质 - 学
Play()、Stop()脚本触发 - 最后学
Collision、Trails、Sub Emitters - 再进阶学
VFX Graph