静态网格物体碰撞参考指南

本页面的内容:

概述

当创建图形细节时,保证游戏中的碰撞简洁是非常重要的。其中有两个原因,计算碰撞比计算多边形来说速度要快很多,而且对玩家来说加了碰撞,游戏体验就会流畅很多,玩家也不会卡在细小的缝隙中。

静态网格物体编辑器 中制作的所有碰撞形状在创建后都可以进行移动、旋转及缩放。您可以基于每个静态网格物体创建多个碰撞形状,以便在您的静态网格物体碰撞中获得所需的保真度。

这对于简单的碰撞图形是非常有用的(盒体、球体及胶囊体),但是也可以同凸面外壳生成器及K-DOP外壳结合使用。

创建骨架网格物体碰撞外壳

请参阅 PhAT用户指南 学习如何使用骨架网格创建碰撞外壳。

在静态网格物体编辑器中创建静态网格物体碰撞外壳

COLREF_collisionMenu.png

K-DOP

COLREF_collisionMenu_KDOP.png

静态网格物体编辑器碰撞 菜单项下有很多命名为 ##DOP 的菜单选项,这些选项是 K-DOP 简单碰撞生成器。K-DOP 是一种包围盒类型,它代表 K discrete oriented polytope(K 离散定向多面体) (这里的 K 是按照坐标轴排列平面的数量)。一般它有 K 个按照坐标轴平行排列的平面,并且使它们和网格物体尽可能的近。最终得到的形状用做碰撞模型。在静态网格物体编辑器中,K 可以是:

请查看以下实例。这个工具对于包含很多管道、柱子及栏杆的包是非常便利的:

images/kdop_sizes.jpg

使用自动化凸面碰撞工具创建一个碰撞外壳

COLREF_collisionMenu_Auto.png

静态网格物体编辑器 可以使用多个凸面外生成碰撞。

Collision_CreateCollisionHullWithAutoConvex_0.jpg

这个圆角立方体可能敲好可以同 6DOP Simplified Collision(6DOP简化碰撞) 系统工作,但是这里我们假设这还不足以满足它的要求。

选择 Collision Menu(碰撞菜单) -> Auto Convex Collision(自动化凸面碰撞) 将会在右下方弹出这个面板:

Collision_CreateCollisionHullWithAutoConvex_1.jpg

Collision_CreateCollisionHullWithAutoConvex_2.jpg

正如您所看到的,自动化凸面碰撞是比较精确的。

使用简单形状创建碰撞

COLREF_collisionMenu_BuildYourOwn.png

这些选项可以创建基本的碰撞形状:

images/COLREF_BuildYourOwn_01.png

一旦创建了一个简单的碰撞形状后,您可以将其移动、旋转及缩放到期望的位置。您可以为较复杂的静态网格物体创建多个碰撞形状。

操作 动作
W, E, R 切换平移、旋转及缩放工具。
Delete(删除) 将删除当前选中的物理刚体或刚体。
F 将聚焦到当前选中的物理刚体或刚体上。
Ctrl + 左击 给选中项添加物理刚体。
Alt + 左键拖拽 (操作控件) 复制一个物理刚体。

使用您的3D内容创建包创建一个碰撞外壳

请参照 FBX静态网格物体通道 了解如何在 3D 内容创建包中创建静态网格物体碰撞外壳。

碰撞响应

在如何是碰撞对象同其他对象交互方面,虚幻引擎4和以往有很大不同。现在,每个对象可以是任意一种对象类型(比如, 静态网格物体 可以位于 WorldDynamic 碰撞响应组中),您可以选择这些对象类型来 忽略阻挡覆盖 另一个响应组中的对象。

简单地说,就是现在不是“让一个对象和设置为发生碰撞的所有对象进行碰撞”,而是设置为 "仅同是 Pawn 的对象碰撞,并且我将覆盖 WorldDynamic ,忽略其他对象。” 进一步讲,就是那个对象将仅和 Pawns 发生碰撞, Pawn 响应组中的对象可以选择忽略我们的panw碰撞者所在的组。

这确实变得很复杂,但是您可以随意使用这些工具轻松地进行处理。请参照碰撞响应 文档获得更多信息。

在游戏中检查碰撞

在游戏中您可以使用几个控制台命令来检查碰撞设置。这里使其中的一些命令。输入它们并切换它们的开关状态。

COLREF_showCollision.png

Collision_StatGame.png