向量场

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

Windows
MacOS
Linux

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

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

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

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

整体向量场

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

向量场体积Actor

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

VFScaled.png

任何包含整体向量场模块的GPU sprite粒子系统都可以使用此整体向量场。

GlobalVectorFieldsSystem.png

GameModeVFV.png

在此图中,只有大约自发光体积的一半长度的粒子与向量场体积交集。

局部向量场

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

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

LocalVectorField.png

标签

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见