有没有一种方法可以在Box2D中绘制凹多边形并检测与其他形状的碰撞?

3
我是Box2D物理引擎的初学者。因为我有一个带有不规则曲线的图像,所以我正在尝试开发多边形。但是在参考Raywenderlich演示教程中使用Vertex Helper绘制多边形时,很多情况下会产生凹多边形,当我执行我的项目时它会崩溃...因此,如果可以得到关于使用凹多边形的帮助,那就太好了。
欢迎任何帮助或建议。谢谢。
1个回答

5

@Marine; 要使用凹多边形,您需要将其分解为更小的凸多边形。只需在创建实体时将凹多边形分解为不同的凸多边形,并为所有这些单独的凸多边形创建形状即可。


我有100多张图片需要创建单独的多边形...但是如果这样做,会影响iPod的内存吗? - Marine
实际上,这不会影响性能。你不会创建任何额外的物体。你将使用多边形定义每个物体的形状。要转换凹多边形,可以使用一个叫做physicseditor的应用程序。只需搜索该名称,即可下载试用版。你可以使用physicseditor或创建一个算法将凹多边形转换为凸多边形。 - Suran
我已经实现了物理编辑器图像,但在模拟器中,它显示比我使用的图像小(缩放)的多边形。请建议我如何使多边形变大(缩放)..... - Marine
我没有完全理解你的意思。多边形是否正确地进行了碰撞检测,与相应大小的物体有关?还是只是绘图被缩小了?如果是这种情况,可能是在以米为单位的debugdraw中绘制多边形;即,没有乘以ptm_ratio。尝试在debugdraw中将多边形顶点乘以ptm_ratio。如果问题仍然存在,请详细说明问题,如果可能,请附上屏幕截图。 - Suran
问题现在已经解决了,实际上是在创建.pist文件时需要设置PTM_Ratio......感谢您建议使用漂亮的多边形制造器即物理编辑器。@Suran - Marine
您随时都欢迎。请不要忘记为您觉得有用的答案点赞。 - Suran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接