Language:
Share
此中文页面内容对应的英文页面有后续更新,如需浏览最新文档可切换至英文页面浏览。

Sprite 碰撞

本页面的内容:

总览

和其他类型的几何体(如静态网格物体、骨骼网格物体等)一样,Sprite 可定义用于计算与场景中其他几何体碰撞的形态。

collision_shape.png

碰撞域

Sprite 碰撞域 属性用于定义计算碰撞的方法。存在三种 不同设置:

碰撞类型

描述

无碰撞几何体生成;只用于装饰性 sprite。

使用 2D 物理

这是一个 实验性 选项,用于生成在 Box2D 中使用的碰撞几何体。关于限流,请查阅 2D 碰撞 中的详细信息。

使用 3D 物理

将生成在 PhysX.中使用的碰撞几何体。在 sprite 中定义的 2D 碰撞几何体将被突出,使用垂直轴深处的 碰撞厚度 制作 3D 碰撞几何体。

碰撞几何体

碰撞几何体上的 几何体类型 设置指定了用于生成碰撞几何体 的算法类型。下列设置可用:

类型

描述

源边界框式

在 Sprite 上使用 源区 的边界框。

collision_box.png

严格边界框式

生成严格边界框,将 sprite 的全透明区域排除在外。多数情况下这种方式能生成更佳的碰撞效果。

collision_tight.png

收缩包裹式

实验性)生成匹配 Sprite 不透明区域的复杂几何体。这种方式能产生最真实的碰撞效果,但额外的几何体可能对运行性能产生影响。

collision_shrink.png

自定义式

可指定视口中互动使用的几何体。

collision_custom.png

方块式

分割为许多小方块,包括最终几何体中仅为非空的小方块。

“编辑碰撞”模式显示碰撞几何体,且可在视口中进行调整,将模式自动设为自定义式。

工具栏按钮可用于添加额外多边形或捕捉顶点至像素网格。选择一个边沿后按下 Shift+左键单击 组合键可添加新顶点,选中顶点后可按下 删除键 进行删除。

2D 碰撞

Box2D 2.3.1 是一个初始的 实验性 整合版本,进行了多项相关调整,以便在引擎中实现 2D
物理。这并非官方正式支持的原型版本,请谨慎使用,勿用于正式游戏开发。 当前版本仅包括 Win32 和 Win64 的 Box2D 预编译库,因此 2D 碰撞在其他平台上将 无法实现。在 sprite 上选中 2D 域之后将自动进行碰撞检测和响应,而查询 (如点追踪)必须在物理项目设置中单独启用(bEnable2DPhysics 选项)。

整合版支持碰撞检测和响应(包括虚幻碰撞通道/过滤)、刚体 模拟、以及光线投射。非零范围查询、扫描测试和重叠测试等功能尚未加入。如
CharacterMovementComponent 和 MoveComponent with bSweep=true 均基于这些类型的查询,功能仍暂不可用。

长期整合策略的目标是将其打造为一流的引擎,使 2D 场景可直接套用相同的技术和理论知识; 举例而言,只存在一个重叠事件,而并非以 2D 和 3D 形式单独 存在。Box2D 中已加入 3D 光线投射,可进行“面内”追踪(2D 场景中的玩法追踪) 或“垂直面”追踪(如触摸输入追踪,确定物体在手指/鼠标指针下), 产生正常光照效果路径和法线。