目前我的游戏“Back In Time”中只有大约3-4个斜坡,而且我正在使用自定义物理学来模拟玩家和斜坡的碰撞。然而这些自定义物理学却引发了各种问题,如抖动、意想不到的推动或按压、动画问题等。

[一些技术问题
如果要检测斜坡,那么用射线(raycast)向前探测则会在玩家下坡时引发问题,而如果用箱形射线(boxcast)检测台阶则在玩家落地时会引发一个小冲击;如果在脚下放置两条射线,则当玩家跳跃和不断向前移动时,落地时不会检测到斜坡,总是处于坠落状态(还有很多非常微妙但复杂的问题)]

我最终决定彻底移除它们,但之后我觉得似乎很令人痛苦,即使对我来说已经过了那么多年的游戏开发,我居然还不能完美地处理一个简单的二维斜坡。完成自定义物理学需要我花了足足6天,这使我感觉好像我技能其实并没有那么突出,所以无法早就完成了 (但我还是做到了)

视频中的 Gizmos :
绿色方块 - 检测地面的盒子射线
顶部和正面的粉色方块 - 检测天花板和墙壁
黄色长线 - 斜坡检测器
斜坡上的红色线 - 找到与斜坡垂直的线以找到斜坡值