找回密码
 立即注册
查看: 313|回复: 0

Unity 粒子系统一般介绍

[复制链接]
发表于 2022-8-25 08:58 | 显示全部楼层 |阅读模式
最近想学unity特效制作,看b站视频感觉到特效和粒子系统感觉密不可分,所以准备把粒子系统的每个特点好好理一理,根据官方文档和自己的实践温故而知新。
    我使用的是unity 5.01版本(学习的视频也是这个版本的所以先将就下)
    官方手册:
什么是粒子系统?

   粒子系统 (Particle System)组件通过在场景中生成和动画化大量小型 2D 图像来模拟流体实体,如液体、云和火焰。
    粒子系统的操作主要由以下的模块构成,你所看到的千变万化风格的特效,除了导入的贴图外,它们的变化很大程度上依赖于这些模块和和模块中的属性。





漂亮的特效图


如何创建一个粒子系统

Unity用一个组件来实现粒子系统,所以在场景中放置一个粒子系统,只需要添加一个预制的GameObject(菜单:GameObject > Create General > Particle System)或将该组件添加到现有的GameObject(菜单:Component > Effects > Particle System)。


看到如图所示的物体说明创建成功了。





Playback Speed 用于加快或减慢粒子模拟速度,可以直观查看在高级状态下的效果。Playback Time 表示自系统启动以来经过的时间;



动画系统可以访问所有粒子属性,这意味着可以将它们设置到关键帧中并从动画中控制它们。要访问粒子系统的属性,必须有一个 Animator 组件连接到粒子系统的游戏对象。此外还需要动画控制器 (Animation Controller) 和动画。

接下来可以介绍下粒子系统的各个模块来。
粒子系统主模块

duration(持续时间)

粒子系统发射的持续时间,如果不设置Looping,当Playback Time到了duration的设置时间的时候,停止发射。
Looping:(循环)

如果启用此属性,系统将在其持续时间结束时再次启动并继续重复该循环。
prewarm(预热,只有当Looping启用时这个才能启用)

以已经完成一个粒子发射周期的状态运行,当此效果运行时将禁用start delay。
Start Delay(开始延迟):在Playback Time经过start delay设置的时间后,粒子才会发射,启用prewarm将会禁用该选项。

Start Lifetime(生存时间):粒子在发射以后的存活时间,也就是粒子的一个周期时间,当一个周期结束后,粒子将重新发射。

Start Speed(开始速度):粒子的发射速度

Start Rotation:每个粒子的初始旋转角度,用初始粒子不大看的出区别,因为时圆形粒子,建议大家可以自己换个粒子贴图。可以很明显的看出效果。

Start Color每个粒子的初始颜色。




点击右边的长条出,现如下图所示的色板



RGB是正常的三原色,最下面的a是设置粒子的不透明度,越小越淡

Gravity Modifier:物理学管理器中设置的重力值。零值将关闭重力。

简单来说就是赋给粒子质量的效果,物体将和有质量的物体一样根据Gravity Modifier值设置的变化而变化
值越大,物体将以越快的速度向下掉,值越小,物体将以越快的速度向上发射。
inherit velocity(继承速度):

使用它时必须把Simulation Space设置为world,他的效果也和它的名字一样,粒子发射的时候将会继承你移动坐标系时候的速度和方向。



如图所示。粒子将会继承你的移动速度

Simulation Space:

这个很好理解,一个移动世界坐标系,一个移动物体坐标系。
设置为世界的时候,粒子发射会随着粒子的变化而变化。
反之则不会。
Play on Awake如果启用此属性,则粒子系统会在创建对象时自动启动。

Max Particles:系统中同时存在的最大粒子数。如果达到极限,一些粒子将被移除。
<hr/>感觉5.01版本还是太老了,不少操作和现在差别很大接下来我还是用2019.4LTS版本的系统记录好了。
EMISSION板块:

rate over time:

每个时间单位发射的粒子数目
rate over distance:

每个移动距离单位发射的粒子数,此模式对于模拟实际由对象运动产生的粒子非常有用(例如,泥路上车轮留下的尘土)
Bursts(爆发):指生成粒子的一个事件

Time设置发射爆发粒子的时间(粒子系统开始播放后的秒数)。
Count设置可能发射的粒子数的值。
Cycles设置播放爆发次数的值,设置的值越高爆发的粒子也就越多。
Interval设置触发每个爆发周期的间隔时间(以秒为单位)的值。
Probability控制每个爆发事件生成粒子的可能性。较高的值使系统产生更多的粒子,而值为 1 将保证系统产生粒子。

<hr/>

剩下还有15个模块,有重要的也有简单的,我慢慢更把,顺便留点时间给自己去实践几个特效,不然光说不练真的会没动力。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 12:44 , Processed in 0.145404 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表