我试图找到我们在 Bullet 中有哪些选项来实现像地形这样的滚动轨迹,一旦地形段(或瓷砖)滚动出视野,就会被重复使用。
在诸如 Box2D 和 Chipmunk 之类的 2D 引擎中,我会用分段形状或多边形形状布置静态碰撞体,一旦它们不在视野范围内,就会重新定位它们。这是一个描述在 Box2D 的 ActionScript 版本中完成的链接:http ://www.emanueleferonato.com/2011/10/04/create-a-terrain-like-the-one-in-tiny-wings-with- flash-and-box2d-%E2%80%93-adding-more-bumps/
查看一些文档,似乎在 Bullet 中我们有多个形状选项,例如 btHeightfieldTerrainShapes 或 btStaticPlaneShapes 或 btBoxShapes。此外,我还查看了 BulletPhysics 附带的演示中的 AppConcaveDemo,我看到它使用的是 btBvhTriangleMeshShape,并且正在重新计算顶点。也许这会是更好的选择吗?
看着这些不同的选项,我想知道是否有任何想法如何最好地实现这样的目标,记住地形水平滚动,类似于游戏 TinyWings,应该像 HotWheels 赛车轨道一样狭窄。
我不是在寻找详细的技术实现,而是讨论一种技术相对于另一种技术的优点,将性能作为主要考虑因素。
注意:不确定是否值得一提,但这种地形会与刚体和软体相互作用。
谢谢,
克劳迪娅