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

概述

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

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

这对于简单的碰撞图形是非常有用的(盒体、球体及胶囊体),但是也可以同凸面外壳生成器及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 可以是:

  • 6 - 沿着轴对齐的盒体。

  • 10 - 有四个边进行倒角处理的盒体—您可以选择沿着 X-Y 或 Z 平行排列的边。

  • 18 - 在所有边上进行倒角处理的盒体。

  • **26* - 在所有边和角上进行倒角处理的盒体。

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

kdop_sizes.jpg

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

COLREF_collisionMenu_Auto.png

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

Collision_CreateCollisionHullWithAutoConvex_0.jpg

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

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

Collision_CreateCollisionHullWithAutoConvex_1.jpg

  • Max Hulls(最大外壳数量) - 决定了创建该最适合该对象形状的外壳数量。

  • Max Hull Verts(最大外壳顶点数量) - 最大的碰撞外壳顶点的数量。增加这个值会增加碰撞外壳的复杂程度。

  • Apply(应用) - 根据上面的设置为该对象添加碰撞。

  • Defaults(默认) - 将 Max Hulls(最大外壳数量)Max Hull Verts(最大外壳顶点数量) 重置为上面图片中看到的值。

Collision_CreateCollisionHullWithAutoConvex_2.jpg

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

使用简单形状创建碰撞

COLREF_collisionMenu_BuildYourOwn.png

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

COLREF_BuildYourOwn_01.png

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

操作

动作

W, E, R

切换平移、旋转及缩放工具。

Delete(删除)

将删除当前选中的物理刚体或刚体。

F

将聚焦到当前选中的物理刚体或刚体上。

Ctrl + 左击

给选中项添加物理刚体。

Alt + 左键拖拽 (操作控件)

复制一个物理刚体。

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

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

碰撞响应

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

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

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

在游戏中检查碰撞

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

  • show COLLISION - 这将会在关卡中描画所有的碰撞模型及阻挡体积。

COLREF_showCollision.png

  • stat game - 这将为您显示各种不同碰撞类型所占用的时间的有用的统计数据。

Collision_StatGame.png