返回 导航

UE5

hangge.com

UE5 - 物理碰撞使用详解1(添加碰撞)

作者:hangge | 2025-10-03 10:31
    游戏中逼真的物理效果离不开模型之间的碰撞,本文我将讲解如何为模型添加碰撞。

一、添加碰撞

1,准备模型

(1)引擎中的模型一般会存在碰撞,导入的物体一般也会自动生成一个可供虚拟的碰撞系统侦测的碰撞,而有些模型不存在碰撞,如果遇到没有碰撞的模型,就需要手动为其添加碰撞。
(2)打开初学者内容包“StarterContent > Props”文件夹,找到“SM_Rock”静态网格体并将其拖曳到关卡中。

(3)选择模型后在“细节”面板中发现不能勾选“模拟物理”选项,说明此模型默认没有碰撞。

2,为模型添加简单碰撞

(1)双击“SM_Rock”进入“静态网格体编辑器”窗口,单击左上角的“显示”按钮显示后执行“简单碰撞”菜单命令。

(2)发现模型没有什么变化,这时执行“碰撞 > 添加球体简化碰撞”菜单命令,为模型添加一个简单碰撞。

(3)模型外围出现的绿色线框代表当前模型的碰撞体积,绿色线框的范围是模型的碰撞范围,该模型会和在此范围内的其他模型产生碰撞。

3,为模型添加复杂碰撞

(1)执行“显示 > 复杂碰撞”菜单命令后可以查看模型的复杂碰撞体积。复杂碰撞是按照模型的三角面生成的碰撞。绿色线框的范围是简单碰撞范围,蓝色线框的范围是复杂碰撞范围,可以看到蓝色线框比绿色线框更加贴合模型。

(2)如果要应用复杂碰撞,则需要在右侧的“细节”面板中打开“碰撞”卷展栏,设置“碰撞复杂度”为“将复杂碰撞用作简单碰撞”。

(3)虽然这样可以使模型具有更真实的碰撞效果,适用于大楼等复杂模型,但是应用复杂碰撞后的模型不再支持模拟物理功能。假设要删除模型默认携带的简单碰撞,可以选择绿色线框后按 Delete 键。
提示:设置“碰撞复杂度”为“项目默认”,在“显示”菜单中取消勾选“复杂碰撞”选项,这样可以将复杂碰撞删除。

4,使用凸包自动生成碰撞

(1)如果想要使用凸包自动生成碰撞,则需要执行“碰撞 > 自动凸包碰撞”菜单命令,打开“凸包分解”面板。

(2)系统会根据“凸包数量”“最大外壳顶点数”“凸包精确度3 个参数自动生成不同精细度的凸包。

(3)设置合适的参数后,单击“应用”按钮应用后系统会自动构建碰撞,使用凸包生成的碰撞为简单碰撞,虽然其精细度低于复杂碰撞,但是它更适用于需要实时计算的模型。
评论

全部评论(0)

回到顶部