我正在尝试找到我们在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汽车轨道。
我不是在寻找详细的技术实现,而是在讨论一种技术优于另一种技术的优点,将性能作为首要考虑因素。
注意:不确定值得一提,但这个地形会与僵硬和柔软的身体相互作用。
谢谢,
和Claudia