在测验在Unity中制造VFX时,咱们常常运用粒子体系。Unity 粒子体系和着色器是在 Unity 中创立 VFX 作用最常用的两种办法。在本文中,咱们将学习Unity Particle 体系的基础知识,并测验运用它创立一些根本作用。
Unity粒子体系简介
Unity 粒子体系是在 Unity 中创立传神动态特效的强壮工具。它答应开发人员创立不同类型的作用,包括爆炸、火焰、烟雾等等。粒子体系供给了广泛的控件和参数,使开发人员能够创立高度可定制的作用。它可用于创立 2D 和 3D 作用,而且与 Unity 的内置物理引擎兼容,答应粒子和其他游戏目标之间实现传神的交互。
粒子体系的根本参数
- 持续时刻 – 如果未设置为循环,粒子作用将坚持的时刻(以秒为单位)。
- 循环 – 如果设置为 true,则粒子作用将一遍又一遍地循环。
- 预热 – 如果设置为 true,则粒子作用将从更多粒子和更多速度开端。一般,看起来一个循环周期现已完成。
- 发动推迟 – 体系在发射第一个粒子之前等候的时刻推迟(以秒为单位)。
- 开端生存期 – 发射粒子的生存期。
- 发动速度 – 发射粒子的发动速度。
- 3D 起始巨细 – 在 X、Y 和 Z 轴上指定不同的巨细。
- 起始巨细 – 粒子的初始巨细。
- 3D 开端旋转 – 指定 X、Y 和 Z 轴上的旋转。
- 开端旋转 – 粒子的初始旋转
- 翻转旋转 – 导致某些粒子以相反的旋转翻转。值能够设置为 0 到 1 之间。值为 1 将导致所有粒子翻转。
- 起始色彩 – 发射粒子的初始色彩
- 重力修正器 – 将指定值与重力相乘。值为 0 表明粒子体系不受重力影响
- 模仿空间 – 您能够将模仿空间设置为本地、世界或自界说。
- 模仿速度 – 您能够设置周期时刻乘数。
- 增量时刻 – 运用时刻.增量时刻或时刻[.未缩放增量时刻]
- 缩放形式 – 您能够依据形状、Hierarachy 或部分空间缩放粒子。
- 唤醒时播映 – 启用后,体系将主动开端发射粒子。
- 发射器速度形式 – 您期望如何计算速度?运用[Unity刚体]还是变换?
- 最大粒子数 – 在给定时刻能够存活的粒子总数。
- 主动随机种子 – 将体系时刻作为随机种子。您能够取消选中此选项并指定您拥有。
一些根本参数有一些额外的选项。这些参数有一个下拉箭头来挑选它。例如,将常量作为输入的参数能够采用范围或曲线。
粒子体系高级参数
Unity 粒子体系的高级参数答应您设置宣布的粒子的更多自界说特点。您需求设置的值彻底取决于您正在创立的终究作用。其中最重要的是发射、形状和烘托器。
开释
发射特点答应您设置三个主要参数。
- 粒子随时刻发射的速率。
- 远距离发射的粒子速率。
- 定时设置突发粒子发射。
形状
您能够从预界说的挑选中挑选粒子体系的形状。然后,您能够运用其他可用参数修正形状。
烘托
烘托器答应您指定[烘托形式],设置原料以及与粒子烘托相关的大量特点。
让咱们看一些有关如何运用这些参数创立VFX作用的示例。
运用粒子体系创造火焰
- 经过单击增加>作用>粒子体系将粒子体系增加到场景中。
- 现在转到形状参数并将其设置为圆锥体。
- 将圆锥半径设置为 0.1,将视点设置为 0。
- 设置为粒子体系参数并将持续时刻设置为 5,发动寿数设置为 5,发动速度为 0.5。
- 转到生命周期内的色彩参数并如下图所示进行设置。顶部的指示器表明 alpha 值,底部的指示器表明色彩。
- 设置生命周期内的巨细曲线,如下所示
现在你的粒子体系应该看起来像一团火。
为了使它更传神,让咱们增加资料
- 在项目窗口中创立新原料。
- 将原料着色器设置为粒子/无光照。
- 挑选“外表类型”为“通明”。
- 混合形式为多重,色彩形式为增加剂。
- 将火形状图画(具有通明背景)增加到底图。您能够从[免费 Unity 资源]网站列表中免费找到一个。
- 转到粒子体系>烘托并将此原料分配给它。
- 这是终究结果。
有一个内置选项能够在 Unity 中创立雾。但在 URP 的情况下,您没有体积雾选项。咱们能够运用运用粒子体系制造的自界说雾来战胜这个问题。
在项目窗口中创立一个名为“雾”的新原料。
设置资料特点,如下图所示。将底图的 alpha 值设置为 40。
经过单击“增加>作用>粒子体系”将粒子体系增加到场景中。
现在转到查看器窗口并为粒子体系设置以下特点
- 持续时刻至 1000
- 查看循环和预热为 true。
- 开端生存期至少为 30 秒。
- 单击发动速度邻近的向下箭头,然后挑选“两个常量之间的随机”。
- 将值设置为 0.1 到 0.2。
- 查看 3D 开端巨细并给出 5 作为所有轴的值。
- 转到形状设置。
- 将形状设置为球体。
- 半径根据您的雾巨细。在演示中设置为 1。
- 转到生命周期内的色彩,并在开头和结束将 alpha 设置为 0。
- 在中心创立一个新点,并将 alpha 设置为最大值。
- 这将发生通明作用。
- 便是这样,你准备好布置了。
绕过设置以对其进行更多自界说。
运用代码控制粒子体系
您能够运用代码控制粒子体系的所有参数。您需求运用 get 组件函数获取粒子体系,然后您能够引用它来拜访参数。
获取粒子体系组件的示例代码
using UnityEngine;
public class ControlParticles : MonoBehaviour
{
ParticleSystem part;
// Start is called before the first frame update
void Start()
{
part=GetComponent<ParticleSystem>();
if(part.isPlaying)
{
Debug.Log("particle Effect is live");
}
}
}
您能够运用代码拜访粒子体系的所有特点。现在轮到你玩粒子体系了。如果您有任何疑问,能够将其留在下面的评论框中。