2

我认为使用像 Box2D 这样的物理库来模拟火车的顶视图沿着轨道、穿越开关等会很有趣。我需要什么关节和马达来完成这项工作?

我很好奇如何实现使汽车遵循样条轨道所需的力,以便它可以撞到其他火车车厢、行人、DeLoreans 等。只需对每个时间步说“汽车现在处于样条曲线(t)”会在物理引擎中产生过大的力。如果我理解正确,您必须用一种力将汽车固定在轨道上,用另一种力将其角度限制为与轨道平行(或用两种力将汽车的前部和后部固定在轨道上),然后创建另一个推动火车前进的力量。我正在寻找有关如何完成这些事情的一些细节。

4

4 回答 4

3

我相信没有“真正的”物理会更容易,比如 Luxor 或 Tumble Bugs 等游戏的球运动。含义:让火车遵循由轨道定义的样条线。

使用 phyiscs 来让火车跟随轨道可能是矫枉过正的,并且可能导致各种不良副作用,包括颠簸运动、火车脱轨、火车卡在路口等。

但是,您仍然可以使用物理接头将各个货车连接在一起。只需确保只有机车获得加速力,火车的其余部分只是跟随或被推动但保持在花键上。

于 2009-03-20T09:39:08.883 回答
1

你为什么担心让它“走上正轨”?它要去哪里?重力应该让它保持向下,物体相交应该保持它向上,所以你需要担心的唯一方向是向前和向后。这就是马达进来的地方,你就完成了。剩下的就是装饰品了。

针对问题的编辑:

护栏。与宽度相比,让火车足够长/足够坚固,以便您可以通过交叉口(使它们更接近直角,以尽量减少交叉口问题。

于 2009-03-05T20:07:51.683 回答
1

自上而下的视图(即从天空看火车)并不需要 2d 物理引擎 - 如果我理解正确的话。事实上,它似乎对解决问题并没有真正的帮助(如果你想要一个火车模拟),但也许你只是想试试看。:)

但是,在火车和汽车上安装滑块接头,在机车上安装电机怎么样。滑块关节可能需要一些特殊的实现;您可能想沿着样条线而不是直线段运行火车,对吗?

某种球形接头将汽车连接在一起。

于 2009-03-20T08:47:12.457 回答
1

实现不是那么困难,我能够在几个小时内完成基本工作的原型。它需要大量工作才能使其顺利运行,但它本质上只是“侧轨”。

自上而下你显然首先必须在 Box2D 中关闭重力。二是造火车。像对待汽车车轮一样对待火车车轮,它会突然变得简单得多。对于曲目,您有几个选择:

  • 创建您自己的游戏对象(不在 box2D 世界中),它是一条简单的线,然后火车将“跟随”(您可以使用火车车轮上的电机“引导”朝向该线)。然后用一些漂亮的宽“铁路”图形覆盖这条线,你就有了一个很好的伪造系统。如果车轮偏离线路太远,请告诉车轮关闭,然后你就出轨了。

  • 创建实际的物理轨道 - 火车“车轮”会撞到的外部轨道(如侧轨)。在这种情况下,它们必须具有柔和的曲线,考虑到您拥有的资源有限,这可能非常困难(在 Box2D 中模拟一个很好的慢速曲线在处理器上很粗糙)

那就让你的火车去吧!

于 2009-04-26T08:16:17.403 回答