【问题标题】:Simulate Downforce in a 2D Car Game在 2D 汽车游戏中模拟下压力
【发布时间】:2021-02-13 23:08:08
【问题描述】:

我正在尝试为 2d 汽车游戏添加下压力,以给人一种“在轨道上”的感觉,但我正在挣扎。我使用 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。

【问题讨论】:

    标签: javascript 2d game-physics


    【解决方案1】:

    好吧,经过大约一个月的搜索!我在这段视频中找到了答案(在 32 分钟处): https://youtu.be/0Quv9U9_a8c

    正如我所怀疑的,这是一个相当简单的修复。我需要使用点积来消除横向速度。视频中的那个人解释得比我好得多,也准确地展示了我在寻找什么。

    作为对我的奖励,他还演示了如何将滑道从完全抓地力(“在轨道上”)调整为非常滑(“在冰上”)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      • 2022-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多