面向 4.23 及更高版本的 Unreal Engine* 4 优化——第 1 部分:Chaos 破坏和 Niagara 粒子系统

已发布:08/21/2019   最后更新时间:07/26/2019

简介

在 2019 年游戏开发者大会 (GDC) 上,Epic 发布了最新的物理系统 Chaos,它为 Unreal Engine* 4 (UE4) 带来了震撼的破坏能力。英特尔工程师与 Epic Games* 合作添加英特尔® 隐式 SPMD程序编译器(英特尔® ISPC),以支持所有当前与未来的 Chaos 系统充分利用每个可用的 CPU 内核。

在本文章系列中,我们将介绍一组优化以及将 Chaos 集成到未来的 UE4 项目的方法。第 1 部分重点介绍 UE 4.23 中的全新 Chaos 破坏系统。

启用插件

为了使用本文中提到的技术,需要创建一个 UE 4.23+ 项目,并为新 Chaos 系统启用所有相应的插件。选择编辑器菜单工具栏中的编辑,然后选择插件,便可打开插件窗口。打开后,在右上方搜索栏中输入 chaos,以启动所有 Chaos 插件。选中 Chaos Niagara、Chaos Solver 和 ChaosEditor 的启用方框。下图选择了 Chaos Cloth 插件,但是本教程不需要该插件。 

Chaos plugin menu
图 1.启用 Chaos 插件。

创建 Chaos 破坏系统

创建 Chaos 破坏系统 (Chaos DS) 的第一步是选择图层编辑器内所需的静态网格。我们将使用如下所示的小行星模型,不管您创建任何静态网格,流程都是相同的。

a static mesh in-editor
图 2. 编辑器中的静态网格。

选择后,我们可以将我们的静态网格转化为几何体集合。这需要在“编辑器模式”(Editor Modes)面板中打开新的“断裂编辑器”(Fracture Editor)选项卡,点击“生成几何体集合网格”(Generate Geometry Collection Mesh),如图 3 的红圈部分所示。创建几何体集合后,选择的静态网格从该层自动移除,并替换为新的可破坏网格。

generate geometry collection mesh tool selection in menu
图 3.“断裂编辑器模式”选项卡,“生成几何体集合网格”图标被标出。

在我们的场景中,通过几何体集合来显示 Chaos DS。本文从单个网格中创建了一个几何体集合,您可以选择编辑器内的多个网格,然后点击“生成几何体集合网格”,将所有所选网格组合在一起,从而生成一个 Chaos DS。

创建 Chaos DS 后,我们现在能够对其进行断裂设置。“断裂编辑器”窗口中包含破坏系统的断裂设置。有多种选项可以使网格断裂,但是本文将使用 Uniform Voronoi。

editor mode menu with uniform voronoi configuration highlighted
图 4. “断裂编辑器模式”选项卡显示 Uniform Voronoi 配置。

为生成的最小碎片数量和最大碎片数量设置随机范围时,我们可以在编辑器视口中预览网格的断裂效果。

a fracture wireframe in mesh view
图 5. 编辑器内断裂线框网格视图。

最后,如果我们对网格分割方式感到满意,选择“断裂编辑器”面板底部的“断裂”(Fracture)便可以对网格进行断裂设置。

example of a fractured mesh
图 6. 断裂的网格。

example of an expanded fractured mesh
图 7. 断裂网格的扩展视图。

创建的基本 Chaos DS 是可破坏的,现在,我们可以通过其他 Chaos 特性提高可破坏对象的视觉保真度。通过创建 Chaos DS 集群,我们可以提高系统破坏前的性能,得到更真实的破坏视觉效果。虽然集群不会对图形加载产生重大影响,但是它会大幅降低物理复杂性。如果您的场景是 CPU 高度密集型场景,可以考虑此方法。

我们将使用引擎提供的自动集群工具创建 Chaos DS 集群。首先,如图 8 的红圈部分所示,通过点击“全选”(Select All),在几何体集合中选择所有碎片。

select all tool icon highlighted in menu
图 8. “断裂编辑器模式”选项卡,“全选”图标被标出。

选择所有碎片后,点击“自动集群”(Auto Cluster),为 Chaos DS 系统创建一个新层。为了在不同层之间切换,使用层选择菜单,如图 9 所示。

cluster levels menu
图 9. 集群层选择菜单。

这将 Chaos DS 划分为多个更大的部分,每个部分包含首次断裂最初创建的少量碎片。这些高级碎片支持您更好地控制总体可破坏性,并提供可破坏对象本身的可破坏性;例如,当一个混凝土柱解体后,这个柱子的碎片将跌落,撞击地面后将分解为更小的碎片。

level 1 mesh view
图 10. 断裂 1 层网格视图。

level 1 mesh view expanded
图 11. 断裂 1 层扩展网格视图。

为了尽快开始使用 Chaos,需要源码。请参阅Unreal Engine* 论坛主题,获得更多信息。

© 2019 英特尔公司版权所有。

产品和性能信息

1

性能因用途、配置和其他因素而异。请访问 www.Intel.com/PerformanceIndex 了解更多信息。