9 - 初识Chaos系统

本文将简要介绍UE5中Chaos系统的使用,利用它制作一个可击碎的石块。

初识Chaos系统

简介

Chaos 是虚幻引擎的高性能物理和破坏系统。通过 Chaos破坏系统,用户可以在具有大规模破坏程度的场景中实时实现电影质量的视觉效果,并对内容创作进行前所未有的艺术性控制。

破坏系统使用称为 几何体集合(Geometry Collection) 的新资产类型,作为其几何体和模拟属性的基础容器。几何体集合可以从静态和骨骼网格体源创建,然后使用UE5的 破裂模式(Fracture Mode) 进行破裂和群集。

在模拟开始,会基于每个破裂的刚体的最接近相邻值初始化连接图表。各个形体之间的每个连接表示群集中的刚性约束,并获得了初始张力值。在模拟期间,会评估连接图表中的张力。碰撞约束或场评估对刚体施加超出连接限制的冲量时,这些连接可能会断开。物理场还可以用于降低连接的内部张力值,从而削弱内部结构。

对于大规模破坏模拟,Chaos破坏系统随附了新的 缓存系统(Cache System) ,允许在运行时流畅重播复杂的破坏,而对性能的影响极低。

接下来利用它制作一个可击碎的石块。

创建几何体集合

首先要创造几何体集合,选中石块,在Fracture Mode中新建一个几何体集合:

接下来可在Fracture中设定石块的破碎类型,这里选择Uniform,它通过Voronoi算法计算石块碎片的分割情况,可在Uniform Voronoi中调整碎片的个数。最后点击Fracture按钮即可完成对石块的分割:

可见一个石块被分割成20个小块,选中小块还能对其进行二次分割。进入PIE模式中的石块破碎效果如下:

如果想要正常显示石头的纹理,需要在Outliner中选中该几何体集合,在Chaos Physics -> General中取消选中Show Bone Colors

使用 Field System

在 UE5 中,Field System Actor 是一个用于驱动 Chaos 物理系统 的强大工具,尤其在处理 破碎(Destruction)刚体力场(Rigid Body Forces)布料、粒子等模拟效果 中非常有用。它提供了一种数据驱动的物理场机制,可以控制物理对象如何响应特定的空间区域中的力。

接下来创建一个基于Field System Actor的蓝图类BP_FieldSystem,内含一个FieldSystemComponent,一个Radial Falloff和一个Radial Vector,编写蓝图内容如下:

上述蓝图首先生成一个球形力场,让石块被击碎,然后生成一个径向力场,让石块碎片沿着指定方向飞走:

可击碎的石块就创建好了,据此可以拓展出基于几何体集合的可击碎Actor(例如箱子等),以及通过Field System Component施加力的Actor(例如武器等),进而让我们的Gameplay更加有趣。

参考资料

  • 虚幻引擎中的Chaos破环系统 | 虚幻引擎 5.4 文档 | Epic Developer Community
  • Course: Unreal Engine 5 C++ The Ultimate Game Developer Course | Udemy
  • ChatGPT