向量场

概述向量场以及它们如何使用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

Tags
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback