physicsEditor 描轮廓,点数多了好还是少了好呢?

来源:互联网 发布:怎么能在淘宝上买东西 编辑:程序博客网 时间:2024/04/30 17:26

原文链接:http://blog.csdn.net/zhangxaochen/article/details/8011182

很明显,更多的点可以勾画出更精确的物体外形,在碰撞检测中可以获得更好的效果。但是另外一个担忧是,会不会因为点数太多导致性能下降?

因为box2d 要求每一个 fixture的shape必须为 凸多边形(convex),更多的点描出来的轮廓,需要用更多的凸多边形去拼接。

--------------------------------------------------------------

不多说,实验对比一下看看吧:【测试机:sky A780L,安兔兔跑分>6700,应该算高性能】

1. 比较少的点,大致轮廓:

运行效果:

 

=========================================================================================

2. 更多的点,更精确的外形:

 

运行截图:

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

1. 程序中开启了debugDraw,因此图片边缘偶尔多出来粉红色的棱角。

2. 两次运行都是加入了40个精灵。

可以看出,第一个运行截图里,程序保持在50帧/秒 左右,刷新比较流畅;缺点是“粉红棱角”比较明显,这意味着他们的碰撞检测不是那么精确。

而第二次运行的截图里,程序下降到了25帧左右,而且有时候还会降到十几帧,已经几乎不能忍了。。。虽然他的轮廓很精确。当然,如果只有少量的,比如20个精灵在里面,程序仍然可以保持 60FPS左右。

总结一下,应用的时候,应该综合考虑 对碰撞检测精确性的要求,以及场景中body的数量,选择更多或更少的点

原文链接:http://blog.csdn.net/zhangxaochen/article/details/8011182

{{OVER}}

原创粉丝点击