小引擎中的ghost collision

发布于

之前做小引擎关于人物沿着墙体slide 的作业的时候发现在墙体模型交错的地方人物会卡住,会在一个“看起来明明是平滑的地方”卡住,当时我想了很多方法都没有一个完美的解决方案

今天在看前一个帖子的大佬给我分享的论坛的时候看了这篇文章: https://box2d.org/posts/2020/06/ghost-collisions/  发现这种现象叫做Ghost Collision,学习之后立马去看了网络上大家对这种现象的解决方案,发现在Unity里似乎也是个常见的bug,解决方案一般是使用Havok物理引擎

浅搜了一下Havok物理引擎的解决方式,常见的是通过物体速度计算下一帧物体位置然后再以下一帧物体位置的hit来计算normal,还有就是计算碰撞点的位置差,如果方向与行进方向基本一致则代表前方是个ghost collision

立马在小引擎里implement了一下,确实解决了之前的问题,超级开心!

1
评论 1
收藏
  • 龙谷源治
    龙谷源治
    很赞啊!