具有弯曲平面的2.5D平台游戏的物理


9

我正在XNA中创建一个2.5D平台游戏,该平台使用的3D模型必须沿着2D平面行进(就像Trine一样)。

不过,为了使事情更棘手,我希望2D平面本身能够弯曲。考虑一下Klonoa的重播(您只需要观看10秒钟):尽管玩家在2D平面上,但该平面本身可以包裹在山的侧面​​,有效地使玩家可以一直穿越3D空间限于平台平台的常规2D平面。

在这样的游戏中应该如何处理物理问题?

  • 我应该使用2D物理引擎还是3D物理引擎?
  • 实际上有没有考虑到这种情况而设计的物理引擎?
  • 对于任何并非为此设计的内容:要使物理引擎与我合作,需要哪些技巧或技巧?

2
我猜想“曲线”纯粹是视觉上的,从物理上来说,它似乎是2D的。唯一的技巧是将其转换为GFX空间,或将其转换为物理空间。
deceleratedcaviar

Answers:


9

像这样的平台器本质上仍然是2D平台器。2.5D效果,甚至是山上的冰壶,都只是二维世界的可视化效果。您的物理引擎可能只会在这个世界上运行,而不会在这个世界上运行,因此2D物理引擎就足够了。

也就是说,您可能对某些3D效果感兴趣。在“仿生突击队:重新武装”游戏中,被击败的敌方角色有点“滚下”平台,使布娃娃物理实际上是3D的。此外,大多数3D物理引擎允许您限制沿一个或多个轴的运动(尽管有一些调整,例如在道路和运动角色之间建立关节)。

请记住,并非每个3D效果都需要一个成熟的物理引擎。您可以编写自己的3D实现方式来处理一些小事情,例如爆炸后掉落的碎屑,而无需诉诸完整的3D引擎。

我的建议是从2D引擎开始,如果您可能不需要第3维的物理计算。否则,请选择3D引擎,并仅在相关的两个轴上限制计算。


2

这取决于您的任何物理状态是否可以在扁平播放器空间之外发生。

正如ghostonline所说,碎片和布娃娃动画是2.5D游戏中2D物理之外的经典示例。

另一个例子是子弹:如果您的游戏中有任何弹丸,它们是否会跟随您2D空间的曲率,或者走直线前进,即使这意味着它们将离开边界?

将物理2D空间正确映射到弯曲3D可视化效果也是正确的(如果我弄错了,请纠正我)..不是那么容易。您将需要一个可能涉及大量样条或类似内容的内射投影函数。

虽然具有弯曲的2D游戏空间是一个不错的附加组件,但它需要大量代码开销。这可能就是为什么Trine中没有这种东西的原因。但是游戏还是很有趣,不是吗?对于这种功能,我会三思而后行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.