我想在我正在制作的游戏中支持非常大的世界。这通常不是问题,因为我可以剔除世界上的大部分,因为它不是一次都可见的。但是,Box2D似乎不喜欢我的想法!
我的地形目前包含大约1000个边缘形状。然而,这一点似乎没有问题: 即使我只添加了几个(~25个)动态对象(小圆圈),性能也会急剧下降!
答案 0 :(得分:1)
答案是因为边缘形状不会与其他边缘形状发生碰撞。
从手册:
边缘形状是线段。提供这些是为了协助制作 为您的游戏提供自由形式的静态环境。一个主要的限制 边缘形状是它们可以与圆和多边形碰撞而不是 与自己。 Box2D使用的碰撞算法需要这样做 两个碰撞形状中的至少一个具有体积。边缘形状没有 音量,所以边缘碰撞是不可能的。
所以即使你有很多边缘形状,因为它们不会相互碰撞,你也不会看到性能下降。添加一些对象后,box2d开始检查碰撞。