【Unity】快速学习粒子系统并创造小案例

您所在的位置:网站首页 unity鼠标点击改变物体颜色 【Unity】快速学习粒子系统并创造小案例

【Unity】快速学习粒子系统并创造小案例

2023-05-28 05:48| 来源: 网络整理| 查看: 265

在尝试在Unity中制作VFX时,我们经常使用粒子系统。Unity 粒子系统和着色器是在 Unity 中创建 VFX 效果最常用的两种方法。在本文中,我们将学习Unity Particle 系统的基础知识,并尝试使用它创建一些基本效果。

Unity粒子系统简介

Unity 粒子系统是在 Unity 中创建逼真动态特效的强大工具。它允许开发人员创建不同类型的效果,包括爆炸、火焰、烟雾等等。粒子系统提供了广泛的控件和参数,使开发人员能够创建高度可定制的效果。它可用于创建 2D 和 3D 效果,并且与 Unity 的内置物理引擎兼容,允许粒子和其他游戏对象之间实现逼真的交互。

Unity particle system component

粒子系统的基本参数 持续时间 - 如果未设置为循环,粒子效果将保持的时间(以秒为单位)。 循环 - 如果设置为 true,则粒子效果将一遍又一遍地循环。 预热 - 如果设置为 true,则粒子效果将从更多粒子和更多速度开始。通常,看起来一个循环周期已经完成。 启动延迟 - 系统在发射第一个粒子之前等待的时间延迟(以秒为单位)。 开始生存期 - 发射粒子的生存期。 启动速度 - 发射粒子的启动速度。 3D 起始大小 - 在 X、Y 和 Z 轴上指定不同的大小。 起始大小 - 粒子的初始大小。 3D 开始旋转 - 指定 X、Y 和 Z 轴上的旋转。 开始旋转 - 粒子的初始旋转 翻转旋转 - 导致某些粒子以相反的旋转翻转。值可以设置为 0 到 1 之间。值为 1 将导致所有粒子翻转。 起始颜色 - 发射粒子的初始颜色 重力修改器 - 将指定值与重力相乘。值为 0 表示粒子系统不受重力影响 模拟空间 - 您可以将模拟空间设置为本地、世界或自定义。 模拟速度 - 您可以设置周期时间乘数。 增量时间 - 使用时间.增量时间或时间[.未缩放增量时间] 缩放模式 - 您可以根据形状、Hierarachy 或局部空间缩放粒子。 唤醒时播放 - 启用后,系统将自动开始发射粒子。 发射器速度模式 - 您希望如何计算速度?使用[Unity刚体]还是变换? 最大粒子数 - 在给定时间可以存活的粒子总数。 自动随机种子 - 将系统时间作为随机种子。您可以取消选中此选项并指定您拥有。

一些基本参数有一些额外的选项。这些参数有一个下拉箭头来选择它。例如,将常量作为输入的参数可以采用范围或曲线。

Curve and random value option of particle system parameter.

粒子系统高级参数

Unity 粒子系统的高级参数允许您设置发出的粒子的更多自定义属性。您需要设置的值完全取决于您正在创建的最终效果。其中最重要的是发射、形状和渲染器。

Unity particle system advanced parameters

释放

发射属性允许您设置三个主要参数。

粒子随时间发射的速率。 远距离发射的粒子速率。 定期设置突发粒子发射。 形状

您可以从预定义的选择中选择粒子系统的形状。然后,您可以使用其他可用参数修改形状。

Shape property of particle system

渲染

渲染器允许您指定[渲染模式],设置材质以及与粒子渲染相关的大量属性。

Renderer property

让我们看一些有关如何使用这些参数创建VFX效果的示例。

使用粒子系统创造火焰 通过单击添加>效果>粒子系统将粒子系统添加到场景中。 现在转到形状参数并将其设置为圆锥体。 将圆锥半径设置为 0.1,将角度设置为 0。 设置为粒子系统参数并将持续时间设置为 5,启动寿命设置为 5,启动速度为 0.5。

particle system setting for fire

转到生命周期内的颜色参数并如下图所示进行设置。顶部的指示器表示 alpha 值,底部的指示器表示颜色。

Color settings for particle system

设置生命周期内的大小曲线,如下所示

particle size settings

现在你的粒子系统应该看起来像一团火。

为了使它更逼真,让我们添加材料

在项目窗口中创建新材质。 将材质着色器设置为粒子/无光照。 选择“表面类型”为“透明”。 混合模式为多重,颜色模式为添加剂。 将火形状图像(具有透明背景)添加到底图。您可以从[免费 Unity 资源]网站列表中免费找到一个。 转到粒子系统>渲染并将此材质分配给它。 这是最终结果。

Fire.gif

有一个内置选项可以在 Unity 中创建雾。但在 URP 的情况下,您没有体积雾选项。我们可以使用使用粒子系统制作的自定义雾来克服这个问题。

在项目窗口中创建一个名为“雾”的新材质。

设置材料属性,如下图所示。将底图的 alpha 值设置为 40。

Fog material settings

通过单击“添加>效果>粒子系统”将粒子系统添加到场景中。

现在转到检查器窗口并为粒子系统设置以下属性

持续时间至 1000 检查循环和预热为 true。 开始生存期至少为 30 秒。 单击启动速度附近的向下箭头,然后选择“两个常量之间的随机”。 将值设置为 0.1 到 0.2。 检查 3D 开始大小并给出 5 作为所有轴的值。 转到形状设置。 将形状设置为球体。 半径基于您的雾大小。在演示中设置为 1。

particle system settings for Fog

转到生命周期内的颜色,并在开头和结尾将 alpha 设置为 0。 在中心创建一个新点,并将 alpha 设置为最大值。 这将产生透明效果。 就是这样,你准备好部署了。

绕过设置以对其进行更多自定义。

Fog output

使用代码控制粒子系统

您可以使用代码控制粒子系统的所有参数。您需要使用 get 组件函数获取粒子系统,然后您可以引用它来访问参数。

获取粒子系统组件的示例代码

using UnityEngine; public class ControlParticles : MonoBehaviour { ParticleSystem part; // Start is called before the first frame update void Start() { part=GetComponent(); if(part.isPlaying) { Debug.Log("particle Effect is live"); } } }

您可以使用代码访问粒子系统的所有属性。现在轮到你玩粒子系统了。如果您有任何疑问,可以将其留在下面的评论框中。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3