您的位置:首页 > 移动开发 > Unity3D

高速移动的物体的碰撞穿透的问题的解决方法

2017-10-16 15:47 429 查看
物体的移动跟碰撞的检测可以说是游戏开发者最常见的问题,当在开发测试的过程中可能为出现以下情况(以墙壁跟汽车为例,汽车撞墙壁):

1.墙壁碰撞体太薄,汽车直接穿过墙壁;

2.汽车速度太快,直接穿过墙壁。

以上的问题都可以用两幅图来说明:

开始移动(向右):



一帧过后:



在这里说一下,Unity的对碰撞体的碰撞检测是需要时间的,上面的原因是因为在执行一次碰撞检测之前,移动的范围过大,导致此时碰撞穿透问题。

解决方法:在移动时先判断移动后的位置与现在的位置作射线检测,若有碰撞则移动失败否则移动成功。

图解:



因为这里的代码比较简单就不列出来,这里主要讲的是一种比较简单的解决方式。

那么,这篇博文就到这里,我们下期再见!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity 游戏开发者