Water

Water插件中所含建模和渲染系统的概述。

Windows
MacOS
Linux

Water插件 是一个建模和渲染工具集合,利用基于样条的工作流来创建统一的水编辑体验。它采用着色和渲染的组合管线,以及自动支持gameplay物理和流体模拟的表面网格体。利用Water工具,你可以使用不需要太多手动设置的迭代流程快速创建海洋、河流、湖泊和自定义水体。

海上日落

启用和使用Water

要使用Water建模工具,你必须首先启用Water插件。点击 编辑 > 插件(Edit > Plugins) 打开插件窗口,然后导航至 内置 > Water(Built-In > Water) 类别并启用Water插件。你可能需要重启编辑器。

启用Water插件

Water工具功能

Water工具集中的一些功能可以支持在大型开放世界中创建和编辑水体。

水体Actor和基于样条的工具

使用 水体Actor(Water Body Actors) 会引入一种基于样条的工作流,其优势在于迭代设计和易用性。这些Actor表示可以放置在你关卡中的河流、湖泊、海洋和其他水体类型。

在放置Actor面板中搜索水体

由于水体Actor是使用样条创建的Actor,他们具有以下特性:

  • 使用你在使用Actor时的相同行为进行移动、旋转、缩放和复制。

  • 使用Alt键+拖动的方式来创建新的样条点

  • 逐个点调整水的速度、深度和音频特性。

  • 访问每个样条点的上下文相关菜单,并启用查看器来随时调整水的属性。

  • 使用现有Landmass插件的非破坏性地形编辑图层功能自动与你的地形交互。

使用新的基于样条的工具来构建河流

盖斯特纳波

Water插件配备了可以高度自定义的盖斯特纳波模拟,专门用于湖泊和海洋,能够创建简单或复杂的波浪表面。每种水体都有自己的波浪参数集。你可以将其保存到每个Actor,或单独保存为 水波资产(Water Wave Asset)。利用这些资产,你可以将相同的波浪模拟设置轻松应用到多个水体,在某个地区或关卡中形成相同的视觉效果。

流体模拟和Gameplay物理

流体模拟(Fluid Simulation) 工具能够与角色、载具和武器交互。通过创建波纹、溅射和泡沫效果,增加世界的真实感。

流体模拟创建的波纹的演示

使用因Actor而异 force impulses(@@@),将各种力应用于流体模拟。例如,玩家和载具在经过水体时可以将力应用于流体模拟,发射物可以溅起水花,波纹可以反射出水岸线并受到河水流动贴图的影响。

水网格体Actor

所有海洋、湖泊和河流水体都使用简单的 水网格体Actor(Water Mesh Actor) 进行渲染。这种特殊的Actor会根据每种水体的样条自动为关卡中的水体生成所需的网格体,使重叠的水体Actor可以共用相同的网格体,并且让水可以无缝流过过渡区。

使用四叉树结构处理细节级别,并逐帧遍历它以生成一组优化的可见图块,在每个LOD层次上折叠。以下是使用8 x 8网格显示的概念的示例。

水网格体Actor中使用的四叉树结构

以下是概念的运作示例。

水网格体Actor运作演示

要控制控制水网格体Actor,可通过 世界大纲视图(World Outliner) 在编辑器中选择该水网格体Actor,并在 细节(Details) 面板的 网格体(Mesh) 部分中调整其属性:

细节面板中的水网格体Actor属性

设置

说明

强制折叠密度水平(Force Collapse Density Level)

图块允许强制折叠的密度水平,即使子树中的所有叶节点并非都存在。

  • 如果子树中的任何子节点具有不同的材质,将不会发生折叠。

  • 将此值设置为-1意味着不允许折叠,并且水网格体在任何距离都始终保持其轮廓。

  • 将此值设置为0将允许所有关卡重叠。

  • 若此值高于LODCount的数值,则无效。

图块大小(Tile Size)

在X和Y轴上确定叶图块的世界大小(可能的最小图块)。

图块中的范围(Extent in Tiles)

生成水图块时所在的X和Y轴上的图块数。

曲面细分因子(Tessellation Factor)

水图块网格的最大曲面细分因子。例如,用于表示LOD 0处图块的最大值。这是网格的最大密度。增大此设置将会对性能造成负面影响。

LOD缩放(LOD Scale)

缩放LOD范围,可以拉近它们,让图块密度变小,显得更靠近观察者,或者将它们推远,从远处查看密度更大的图块。增大此设置将会对性能造成负面影响。

远距离材质(Far Distance Material)

设置此材质时,将会在水网格体组件图块区域周围生成简单的裙子网格体。

远距离网格体范围(Far Distance Mesh Extent)

生成的远距离网格体从水网格体Actor边缘延伸出的距离。

渲染功能

水渲染管线包含多个用于自定义水的观感的属性。

  • 水下后期处理材质,此材质基于摄像机的位置应用,允许部分或全部浸没于水体中。可以通过每个Actor上的属性来调整此后期处理材质,从而让水体呈现各种变化。

    摄像机位置决定的水后期处理效果

  • 由材质驱动的河流和其他水体之间的指定过渡。可以在每个河流Actor上指定过渡材质,以自动分配到河流与湖泊以及河流与海洋之间的过渡区。

    河流与海洋之间的过渡

  • 散焦线生成工具,可用于定义和渲染你的自定义散焦材质,可以应用于浅水表面。使用自定义关卡设置调整水体的属性。达到所需效果之后,仅限于自定义编辑器的类将会拍摄所生成散焦线的动画并将其渲染成纹理。该纹理可以保存下来,供项目的 Water/Caustics 文件夹中的其他水体使用。

    使用散焦线工具创建自定义散焦线

水体

海洋

海洋使用闭环样条来塑造地形并生成主要的岛屿。随后用水填充水网格体Actor的其余部分:

从它创建的陆地上查看海洋水体

样条被限制为所有点都在同一高度。可以使用水网格体Actor上定义的远距离网格体材质,将海洋延伸至地平线。

湖泊

湖泊是使用类似闭环样条的较小水体。该样条形成湖泊并切割出水下地形:

地形中切割出的湖泊

与海洋相似,湖泊样条的所有点都必须在同一高度。湖泊不支持倾斜。

河流

河流水体使用具有起点和终点的开放型长样条。河流连接起了湖泊和海洋。

连接湖泊和海洋的河流

你可以向样条添加更多的点以延长河流,点的高度可变,并且每个点上都可以调整水属性。 样条将根据其路线和属性来切割地形。河流使用每个点上的速度来写入水流贴图,该贴图将驱动水面的水流视觉效果。可以在河流Actor上设置过渡材质,以自动分配到河流与湖泊以及河流与海洋之间的过渡区域。

自定义

自定义水体可以使用用户提供的网格体和材质,但必须支持使用样条添加数据。此功能支持水波以及水下后期处理。此功能可以用于各种水体,例如游泳池或大型喷泉,或者用于实施瀑布。他们不是使用水网格体Actor渲染的,也不会影响地形。

水体岛屿Actor

此Actor虽然不是真正的水体,但可以根据样条来创建岛屿,类似于湖泊水体Actor,并具有相似的地形切割功能按钮。其目的是影响水体下的地形,确保给定的陆地始终高于水面,它们的地形交互是在所有其他水体之后应用的。

其他资源

使用虚幻引擎构建《堡垒之夜》中的世界 | Unreal Fest Online 2020:

4.26 水和体积预览 | Inside Unreal:

标签
Select Skin
Light
Dark
欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消

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

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

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

发表反馈意见