UE4 碰撞检测测试

发表于2018-02-24
评论0 3.9k浏览
在给大家介绍使用虚幻引擎做碰撞检测测试前,先记录几条物理相关

测试条件,1使用setActorLocation移动,3使用控制器的移动
1 moveCube  2 targetCube  3 Character

两个Cube的碰撞事件
1和2的关系描述,先说最简单的如何产生trigger,collision事件(这里把simulation Generaes Hitevent和Generate OverlapEvents都打开,方便随时产生事件)

碰撞事件
1的设置,(要注意的是1运动时要把sweep的勾选上,否则1,2不会产生碰撞,2不会挡住1,这个sweep作用有点类似unity的运动刚体开关)

2的设置

触发事件
1       2        结果
重叠  重叠   双方产生重叠事件
重叠  阻挡   双方产生重叠事件
阻挡  重叠   双方产生重叠事件

阻挡  阻挡   双方不产生重叠事件(如果1的sweep没勾,也不会产生任何碰撞事件,1运动穿过2什么事件都不会发生,直接穿透)
重叠  忽略   双方不产生事件
忽略  重叠   双方不产生事件

charactor与TargetCube碰撞
的效果类似于开了sweep,会产生碰撞效果

Sweep与Teleport作用说明
Sweep用来阻止运动穿透,这个应该就是charactor不会穿透cube的原因
Teleport开启时,物体瞬间从一个位置移动到另一个位置,自身会产生一个很大的速度(瞬间移动时间很短,物理引擎正常会计算物体速度s/t,因为t很小,所以导致物体会有个很大的速度,teleport开启就不会计算这个自身的速度,物体瞬间移动后速度保持为0)
https://www.unrealengine.com/zh-CN/blog/moving-physical-objects
来自:http://blog.csdn.net/onafioo/article/details/78497859

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引