我试图在2d汽车游戏中添加下压力,给人一种"on rails“的感觉,但我在苦苦挣扎。我正在使用box2d作为物理引擎,我可以创建一辆移动起来有点像小行星游戏中的船的汽车,但我不确定我需要添加哪些额外的力,以及在哪里(以及何时)添加它们?目前,我在加速时施加一个向前的力,并在转弯时将车旋转一个角度。
所以,如果你以下面的小行星克隆为例,我将如何模拟下压力效应?或者甚至在"on rails“和"on ice”之间进行调整?
https://piqnt.com/planck.js/Asteroid
我试着放弃box2d,使用下面这样的简单cos/sin数学,这确实得到了我想要的效果,但我希望使用box2d来添加更多的可控性。另外,我想调整下压力的水平:
this.velocity.x += Math.cos(this.angle.rad()) * this.acceleration;
this.velocity.y += Math.sin(this.angle.rad()) * this.acceleration;
this.position.add(this.velocity);任何帮助或指导都将非常感谢。非常感谢,J。
发布于 2021-02-13 23:08:09
好吧,经过大约一个月的搜寻!我在这个视频中找到了答案(在32分钟):https://youtu.be/0Quv9U9_a8c
正如我所怀疑的,这是一个相当简单的修复方法。我需要使用点积去除横向速度。视频中的人解释得比我好得多,也演示了我正在寻找的东西。
作为对我的奖励,他还演示了如何将滑道从完全抓取(“在rails上”)调整到真正滑行(“在冰上”)。
https://stackoverflow.com/questions/66179082
复制相似问题