在Unreal Engine 5 (UE5)中,几何集(Geometry Collection)是一个强大的工具,属于Chaos Physics系统,用于处理 破坏(Destruction)和 碎片化(Fracture)效果。它可以让你创建高度真实的物理模拟,允许对象在碰撞、力的作用下动态地破裂、碎裂并以自然的方式反应。这个组件特别适用于游戏和影视制作中的 物理破坏 和 环境互动。

Geometry Collection组件属于Chaos Destruction 系统,它可以让你把一个静态网格(例如墙壁、建筑物、家具等)分解成多个碎片(碎块),并通过物理模拟来管理这些碎片的行为。这使得在游戏中实现 物理破坏效果 变得更容易。

一、创建几何集(Geometry Collection)

1.开启插件

开启Chaos相关插件,默认系统是开启的 ,如下图:

2. 创建一个静态网格模型(Static Mesh)

先在 3ds Max、Maya 或 Blender 等建模软件中创建一个模型(如墙壁、建筑、岩石等),然后导入Unreal Engine。

3. 生成几何集(Geometry Collection)

UE进入“破裂”模式,显示出破裂相关的窗口,破裂、破裂层级、等级统计数据等窗口。

并将静态网格模型拖入到当前场景中,之后在大纲中或场景选中它。这时,“破裂”模式工具栏下的新建按钮亮显,点击它。

在弹出的保存几何体集名对话框中,选择路径并创建几何集。
创建后,在场景中,创建出一个GeometryCollectionActor的几何集类型Actor。

注意:创建几保集后,原静态网格模型将被替代。

在“破裂”模式工具栏下,根据业务需求选择和调整破碎效果相关参数,并点击“破裂”按钮。
比如:破碎方式为“簇”,最小和最大数字簇等参数。

注意:破碎方式为“统一”,场景中几何集为彩色,可以通过它的细节面板,找到ShowBoneColors参数,并设置false。

破裂后,可以通过拖拽爆炸当量参数观看效果,破裂出的碎块可以通过“破裂”层级进行查看。

注意:如果感觉破裂的块比较大,可以再对某一块进行再次破裂。

保存后,你可以将它拖到空中,开启模拟物理,并加大质量。
运行后,它掉落到地面上,就会产生“破裂”效果。
但是由于力的不够大,所以需创建外力,实现爆炸破碎效果。

二、创建外力

1.力蓝图

在内容菜单中,引擎->EditorResources->FieldNodes下,有以下几个预制的力:

FS_BombField_Prototype: 指定方向的力,比如打枪,推力等。
FS_MasterField: 中间向四周的力,比如爆炸力。
FS_AnchorField:为防止力使用的区域。

实现爆炸破碎效果选择FS_MasterField,建议将它拷贝到项目目录中。

2.使用力蓝图

将FS_MasterField拖拽到场景中,将根据需求设置参数:

其中,重点为DelayAmount参数,为延迟时间,也是力的大小爆发力,默认为1时,有的需场景达不到爆炸破碎效果。

运行后,就能看到爆炸破碎效果。

三、使用蓝图类控制爆炸破碎效果

在项目中,需要通过事件动态创建和控制爆炸破碎效果,所以需通过蓝图类操作。

1.先创建一个蓝图类,将以原静态网络体为根节点:

根据业务情况,可以将它先显示,后隐藏。

2.再它下面创建一个GeometryCollection对象,并将RestCollection选择为刚才生成的生成几何集:

并将GeometryCollection对象的Simulate Physics参数为False,防止它启动物理模拟。

保存蓝图类,并将它拖到场景中。

3.在蓝图关卡中添加一个事件,获取蓝图类,并将GeometryCollection对象启动模拟物理,并创建力Actor。

运行程序,便可以查看到爆炸破碎效果:

四、其它

根据业务需求,对爆炸破碎效果需要反复测试,可以通过缓存器来进行录制。

1.添加Chaos缓存管理器

2.创建缓存集合

3.设置缓存模式、名称和引用(创建的爆炸破碎效果文件)

可以多次录制,改成播放模式,可以查看。

这样,每次点击运行程序,都会播放录制好的爆炸破碎效果。

4.在关卡序列中播放爆炸破碎动画

两种方式,缓存器或几何集。

将它们拖到关卡序列中,点击新增开始时间,添加关键帧后即可实现在关卡序列中播放爆炸破碎动画。