课程地址 : https://unity3d.com/cn/learn/tutorials/topics/graphics/introduction-and-goals?playlist=17102
项目下载地址 : https://assetstore.unity.com/packages/essentials/asset-packs/unity-particle-pack-5-x-73777
这个课程吧,就瞅了两眼,感觉他不是我想要的,So,接下来我就直接自己按照官方文档及案例学习了,案例还是超酷的~
一.案例效果
一.粒子系统主模块
属性 :
Property | Function |
---|---|
Duration | 系统运行的时间长度。 |
Looping | 如果启用,系统将在其持续时间结束时再次启动并继续重复该循环。 |
Prewarm | 如果启用,系统将初始化,就像它已经完成一个完整周期一样(仅在启用了循环时才有效)。 |
Start Delay | 一旦启用,系统开始发射前的延迟时间。 |
Start Lifetime | 粒子的初始寿命。 |
Start Speed | 每个粒子在适当方向的初始速度。 |
3D Start Size | 如果要分别控制每个轴的大小,请启用此选项。 |
Start Size | 每个粒子的初始大小。 |
3D Start Rotation | 如果要分别控制每个轴的旋转,请启用此选项。 |
Start Rotation | 每个粒子的初始旋转角度。 |
Randomize Rotation Direction | 使一些粒子以相反的方向旋转。 |
Start Color | 每个粒子的初始颜色。 |
Gravity Modifier | 缩放“ 物理”窗口中设置的重力值。值为零会关闭重力。 |
Simulation Space | 控制粒子是在父对象的局部空间中动画(因此与父对象一起移动),在世界空间中,还是相对于自定义对象(使用您选择的自定义对象移动)。 |
Simulation Speed | 调整整个系统更新的速度。 |
Delta Time | 在Scaled和Unscaled之间选择,其中Scaled使用Time窗口中的Time Scale值,而Unscaled忽略它。例如,这对于出现在“暂停”菜单上的“粒子系统”非常有用。 |
Scaling Mode | 选择如何使用变换中的比例。设置为“ 层次结构”,“ 本地”或“ 形状”。Local仅应用粒子系统变换比例,忽略任何父项。形状模式将比例应用于粒子的起始位置,但不影响其大小。 |
Play on Awake | 如果启用,则粒子系统会在创建对象时自动启动。 |
Emitter Velocity | 选择粒子系统如何计算“继承速度”和“发射”模块使用的速度。系统可以使用Rigidbody 计算速度,组件,如果存在,或通过跟踪变换组件 的移动。 |
Max Particles | 一次性系统中的最大粒子数。如果达到限制,则移除一些颗粒。 |
Auto Random Seed | 如果启用,则每次播放时粒子系统看起来都不同。设置为false时,每次播放时系统都完全相同。 |
Random Seed | 禁用自动随机种子时,此值用于创建唯一的可重复效果 |
Stop Action | 当属于系统的所有粒子都已完成时,可以使系统执行动作。当一个系统的所有粒子都已经死亡,并且它的年龄已超过其持续时间时,系统被确定已停止。对于循环系统,只有在通过脚本停止系统时才会发生这种情况。 |
Disable | GameObject已禁用。 |
Destroy | GameObject被销毁了 |
Callback | OnParticleSystemStopped回调被发送到任何脚本 GameObject附带的。 |
Culling Mode | 选择是否在粒子在屏幕外时暂停粒子系统模拟。在屏幕外效率最高时剔除,但您可能希望继续模拟一对一的效果。 |
Automatic | 循环系统使用Pause,所有其他系统使用Always Simulate。 |
Pause And Catch-up | 在屏幕外时系统停止模拟。当重新进入视图时,模拟会执行一个很大的步骤,以达到它不会暂停的程度。在复杂系统中,此选项可能会导致性能峰值。 |
Pause | 在屏幕外时系统停止模拟。 |
Always Simulate | 系统处理每个帧的模拟,无论它是否在屏幕上。这对于烟火等一次性效果非常有用,在模拟过程中这种效果很明显。 |
Ring Buffer Mode | 保持粒子活着直到它们达到最大颗粒数,此时新粒子取代最老粒子,而不是在它们的寿命过去时去除粒子。 |
Disabled | 禁用环形缓冲区模式,以便系统在其生命周期过去时移除它们。 |
Pause Until Replaced | 在生命周期结束时暂停旧粒子,直到达到最大粒子限制,此时系统用新粒子替换它们。 |
Loop Until Replaced | 在其生命周期结束时,粒子回退到其寿命的指定比例,直到达到最大粒子限制,此时系统用新的粒子替换最旧的粒子。 |
物业详情
系统会在特定时间内发出粒子,并可以使用Looped属性设置为连续发射。这允许您设置间歇或连续发射的粒子; 例如,物体可能在短暂的喷气或稳定的气流中散发烟雾。
“ 开始”属性(寿命,速度,大小,旋转和颜色)指定发射时粒子的状态。您可以使用“ 3D开始大小”属性独立指定粒子的宽度,高度和深度(请参阅下面的非均匀粒子缩放)。
所有粒子系统都使用物理设置中指定的相同重力矢量。“重力倍增”值可用于缩放重力,或者如果设置为零则将其关闭。
“ 模拟空间”属性确定粒子是随粒子系统父对象,自定义对象移动还是在游戏世界中独立移动。例如,云,软管和火焰喷射器等系统需要独立于其父游戏对象进行设置,因为它们往往会留下在世界空间中持续存在的痕迹,即使生成它们的对象移动。另一方面,如果使用粒子在两个电极之间产生火花,则粒子应该与父对象一起移动。有关粒子如何跟随其变换的更高级控制,请参阅继承速度模块的文档。
不均匀的粒子缩放
3D Start Size属性允许您独立指定粒子的宽度,高度和深度。在“粒子系统主模块”中,选中“ 3D开始大小”复选框,然后输入粒子的初始x(宽度),y(高度)和z(深度)的值。请注意,z(深度)仅适用于3D 网格
粒子。您还可以在两个常量或曲线之间的范围内为这些属性设置随机值。
您可以使用Size over Lifetime模块中的Separate Axes选项,在Particle System Main模块中设置粒子的初始大小,以及粒子在粒子生命周期内的大小。您还可以使用“ 按速度调整大小”模块中的“ 分离轴”选项设置粒子的大小与其速度的关系。