对象的墙壁碰撞检测无法正常识别

虽然这种情况大约只在数十次中发生一次,但当角色在有墙壁判定的物体上跳跃并刚好落在边缘位置(即将掉落但未掉落)时,尽管角色实际上并未掉落(仍站在物体上),却可能触发下落动作(即在未接触墙壁判定时朝下方向的动作)。

如果在“不接受左右移动输入”的状态下发生这种情况,角色将无法操作,只能重置游戏,这非常令人困扰。请问能否采取措施解决这个问题?

1 个赞

我将尝试复现,请提供以下信息:
角色与目标物体的碰撞形状分别是矩形、胶囊体还是其他形状?

初步确认了矩形之间的接触,但如果胶囊体等形状也出现该问题,请告知,不胜感激!

感谢您的联系。

我目前仅确认了方形×方形的情况。

胶囊体的情况尚未确认。

虽然可能不准确,但根据我的经验,当物体从高处落下,并以较快速度着陆在另一个物体的边缘时,似乎更容易发生这种情况。

我推测,当速度较快时,碰撞体与碰撞体之间的接触判定可能无法正确执行。

1 个赞

让您久等了。
经调查,这是由于 Godot 的“Margin”功能所致。
据称,若将该 Margin 值设置为最小值(0.001),即使角色以角着地,也能正确触发与墙壁的碰撞检测。

1 个赞

感谢您的配合。
我们立即设置了 margin,并多次测试了对象角落着地的操作,未再出现之前的症状。我们将继续观察情况。

如果太小,爬坡时可能会颠簸,请注意。

1 个赞

在今天的1.0.18版本更新中,我们进行了进一步的修复,即使将margin调大,也不会再出现问题。