专栏名称: DigitalCreation
以手写心,致敬真知。<br>如果你能在此直观...
今天看啥  ›  专栏  ›  DigitalCreation

Unreal4级联粒子系统29bate1

DigitalCreation  · 简书  ·  · 2021-03-19 19:18

级联粒子系统

包含任意数量粒子发射器的资源,用于在场景世界中创建特效。

虚幻引擎内包含了一套极为强大并健壮的粒子系统,让美术人员能够创建令人瞠目结舌的视觉特效,从烟雾、火星、火焰,到极其复杂的幻想中才有的效果。
虚幻的粒子系统由 级联 来编辑,这是一个完全整合并模块化的粒子特效编辑器。级联为编辑特效提供了实时的反馈,能够让即便是非常复杂的特效,制作过程也变得更为快捷容易。
粒子系统也和每个粒子上使用的各种材质以及贴图紧密相关。粒子系统自身主要的功能是要控制粒子的行为,然后整体的看粒子系统最终的展现效果则通常取决于材质的做法。

粒子系统用户指南

粒子系统和级联的常规用法及工作流程
创建粒子系统的两种方式

完成创建后,新建粒子系统的名称将被高亮,以便进行重命名。输入一个新名称后,或点击别处,粒子系统图表将更新为一个"No Image"缩略图。可在虚幻引擎 4 粒子编辑器级联中生成缩略图。然后将其拖入视窗


曲线编辑器中的常用功能键

级联 LOD 功能键

——————————————————————————————————————————————————————————————————————————————————————————————

粒子系统细节级别(LOD)

粒子的 GPU 模拟,可允许成百上千的粒子同时存在。
细节级别(LOD)是特效师的福音,利用它可以创建出根据玩家距离高效利用屏幕空间的粒子特效。例如篝火粒子系统,可能包含以下几种发射器:

火焰内焰
火焰外焰
内焰辉光
火星和灰烬
一层或多层烟雾

近距离观察时,系统的外观如图所示:

而当玩家走远时,系统占用屏幕的空间变少,如图所示

在这种情况下,粒子系统的一些方面将会变得十分小(小于一个像素)而无需进行渲染,如灰烬。然而,这些粒子仍然被计算和处理。LOD 就可以大显身手了。它可使粒子系统基于距离进行简化,(在玩家距离过远而欣赏不到特效时)将系统中的发射器和模块将设置关闭,或完全关闭。
讲述粒子系统中细节层级(LODs)的创建以及在游戏中的实际用法。

在粒子系统中创建 LOD 层

以下部分将讲述 LOD 全支持粒子系统创建的常规设计流程。流程的步骤详解如下:

1.创建期望的整体效果。此为最高的 LOD 层。
2.接下来创建最低的 LOD 层。
3.添加两者之间的 LOD 层,创建从最高质量到最低质量的平顺过渡。

只能在编辑最高 LOD 层时添加/删除模块。

在此例中我们使用单个 SubUV 发射器。它设置的方式是 SubUV 坐标 0 显示数字 1,坐标 1 显示数字 2,以此类推。应用的纹理外观如下:
我们来设置最高的 LOD 层。

我们来设置最高的 LOD 层。

最高 LOD 层



当特效师打算对粒子系统进行 LOD 开发时,他们应该选择工具栏中的 Regenerate Lowest LOD。这将使系统重新生成最低的 LOD 层。(它将同时删除临时创建的静态 LOD 层。)在当前,它将以较低的生成率复制最高 LOD 层。

选择最低的 LOD 层后,进行数值调整获得需要的外观。需要注意的是所有模块在静态 LOD 层中均默认标为 un-editable。模块中显示的大理石花纹背景为此特征。


必须将其启用方可在静态 LOD 层中对模块进行编辑。在模块中 单击右键 并从快捷菜单中选择 Duplicate from Higher,完成此操作。

在此例中,我们已启用 SubImage Index 模块的编辑并将索引设为 3.发射器中的结果显示为黄色的 4,如下图所示:
最低 LOD 层


注意:生成率被自动设为最高 LOD 层的 10%。

下一步,按下 Add LOD before current 按钮(假定此时你仍在查看最低 LOD 层),在最高和最低之间添加一个静态 LOD。已启用 SubImage Index 模块并将索引设为 1。发射器中的结果显示为蓝色的 2,如下图所示:

LOD 第一层

按下 Add LOD after current 按钮启用 SubImage index 模块,在第一个静态 LOD 和最低 LOD 之间添加一个静态 LOD。SubImage Index 被设为 2,导致发射器显示一个绿色的 3,如下图所示:
LOD 第二层



LOD 方法和距离设置
粒子系统的游戏内操作由两个模式中的一个完成。每个粒子系统中名为 LODMethod 的列举提供确定此模式的方法。该模式交替控制 LOD 距离的处理方法。

下图显示范例粒子系统的属性窗口:

LODDistances 属性窗口

在此例中,发射器来自摄像机的 [0..1249] 单位时,使用 LOD 0(最高)。LOD 1 来自 [1250..1874],LOD 2 来自 [1875..2499],距离大于 2500 个单位时为 LOD 3。

设为自动模式的每个 ParticleSystemComponent 在运行时将执行 LOD 距离确认,LODDistanceCheckTime 用于设置此操作的执行频率(以秒为单位)。在此例中,关卡中的每个粒子系统每四分之一秒执行一次距离确认。

——————————————————————————————————————————————————————————————————————————————————————————————

向量场

概述向量场以及它们如何使用GPU sprite。

除效率之外,GPU粒子最有趣的特性是向量场。向量场是一个由影响粒子运动的向量组成的统一网格。向量场作为Actor放置在场景中(整体向量场),可以像任何其他Actor一样进行平移、旋转和缩放。它们是动态的,可以在任何时候移动。场也可以放置在级联中(局部向量场),限制其对与其相关联的发射器的影响。当粒子进入向量场的边界时,粒子的运动将受到向量场的影响,当粒子离开边界时,向量场的影响将消失。

默认情况下,向量场会对其中的粒子施力。向量场还有一个"紧密度"参数。此参数控制粒子如何直接跟随场中的向量。当紧密度设置为1时,粒子直接从场中读取其速度,从而准确地跟随场。

静态向量场是向量网格永不改变的场。这些场可以从Maya导出并作为体积纹理导入。静态场资源占用低,可以用来向粒子添加有趣的运动,特别是通过对场本身的运动设置动画。

此外,还可以从二维图像重新构建向量场。在这种情况下,可以导入一个非常类似于法线贴图的图像,通过挤压它或将其围绕体积旋转来重新构建体积纹理。在此重新构建的基础上,可以添加一个静态向量场,引入一些噪点和随机性。此外,可以通过在图谱纹理中存储单独的帧来对2D图像设置动画。这样做让您可以离线执行流体模拟,并以极低的成本实时重新构建运动。

整体向量场
如上所述,整体向量场(Global Vector Fields) 可以作为Actor放置在关卡中。但是,它们不能仅仅从 内容浏览器(Content Browser) 中拖出。为了在关卡中建立一个向量场,需要添加一个向量场体积Actor,并且需要将适当的向量场资源与之关联。

向量场体积Actor

向量场体积Actor(Vector Field Volume Actor) 不是传统意义上的体积。要创建一个向量场体积Actor,在类查看器中找到向量场体积并将其拖放到关卡中。然后,通过Actor的属性从 内容浏览器(Content Browser) 中指定向量场。添加后,可以对场进行定位、旋转和缩放。

任何包含整体向量场模块 的GPU sprite粒子系统都可以使用此整体向量场。
在此图中,只有大约自发光体积的一半长度的粒子与向量场体积交集。

局部向量场
与整体向量场相反,局部向量场(Local Vector Fields) 完全存在于粒子系统中,而未放置在场景中。这意味着,局部向量场只能影响它们被指定给的粒子发射器,与整体向量场不同,整体向量场可以影响任何带有整体向量场模块 的粒子系统。

局部向量场是通过局部向量场模块 添加的。




原文地址:访问原文地址
快照地址: 访问文章快照