如何避免物体从斜坡上滚落时产生的跳跃问题?

发布于 2022-09-05 15:32:05 字数 663 浏览 23 评论 0

我用SAT实现了一个物体在斜坡上运动的场景,当物体前进时效果是正确的,但当物体从斜坡上滚落时,产生了一些跳跃:
图片描述

预期的是物体粘在坡上,和前进时的效果一样,请问这种情况有什么好的解决方案吗?

这是部分代码:

slopes.forEach((slope) => {
    //Minimum Translation Vector
    let mtv = character.collidesWith(slope);

    if(mtv.overlap !== 0) {
        character.velocityY = 0;
        character.positionY -= mtv.overlap;
    }
});

以及用到的图片,斜坡部分为橙色:
图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文