v1.2新功能教程——碰撞区

碰撞区虽然是以前也有的功能,但是这一次的更新彻底重新定义了碰撞区的功能。
那怎么形容这次的变化呢?看下这两个叮当猫吧!

左边是原先需要费很长时间才能做到的效果,而现在想实现右边的效果则可以瞬间完成。
如下图,我们可以通过图像匹配功能智能的计算出碰撞区的位置。

根据需要您可以调整轮廓匹配的精确度,滑动条上精确度从1到10.这个精确度会改变碰撞区匹配精度。值越小,匹配的越精确。

但是这个值即使再小也不能保证完美的兼容每一个图像。在某些情况下程序计算出的碰撞区可能跟理想的效果差距甚远,如下图:

这个珊瑚鱼的鱼鳍部分因为是半透明的,所以程序计算出的碰撞区位置和我们想要的效果是差异甚大的。

在程序匹配的碰撞区并不理想的情况下,我们有两种选择,一种是完全自己画,另一种就是修改程序计算出的碰撞区。

目前提供整体移动碰撞区、单个调整轮廓关键点两种方式修改。
如果程序计算出的碰撞区您整体感觉不错,那么你只要调整一下。但是如果程序匹配的并不理想,您还可以手动绘制碰撞区。

手动绘制目前有三种模式:绘制轮廓、钢笔工具、矩形工具;
绘制轮廓是一种非常方便的工具,你可以在屏幕上自由的拖动鼠标完成绘制,当松开鼠标时程序将自动封闭已绘制的区域并作为碰撞区。对于图形比较圆滑的使用轮廓绘制是非常高效的。
钢笔工具则用于绘制一些边缘平滑的图形。您每在屏幕上点一下,程序将会记录一个关键点,当您再次点击第一个点即可完成碰撞区的绘制。钢笔工具绘制碰撞区时要保证最少有三个关键点,且终点和起点要在一起。
矩形工具是最简单的碰撞区了,也是我们原来所提供的碰撞区绘制,不过现在能够自动的融合重叠部分。

上边这些碰撞区编辑工具一定能帮助您快速高效的绘制出理想的碰撞区。但是编辑碰撞区的时候一定要事先考虑“效率”这个问题。
我说的效率并不是指在编辑器中的制作效率,而是在真机运行的效率,作为跨平台的游戏引擎,一定考虑不同的机型。在游戏中的物理世界做碰撞区的检测是很需要很大一部分计算量,如果您的目标用户群的设备配置比较低的话一定要控制关键点的数量。精确与效率之间要做到平衡关系。

很详细。 写的太好了。 要能加段在cocos2d-x使用实例就更好了。

— Begin quote from ____

引用第1楼htq110219891于2014-01-08 14:10发表的 :
很详细。 写的太好了。 要能加段在cocos2d-x使用实例就更好了。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=179213&pid=870738

— End quote

嗯,赞同,能增加实例更好!

多帧动画时有BUG。多画几次。比如删除再描边。或者用矩形框描边就有BUG了。上一次被清掉的还会存在。导致多个碰撞区叠在一起

求问, 这个功能在哪里呀, 一直没有发现呢。

需要新版本哦~~~老版本是没有的

现在不能在多帧动画上去做这个

1.3版本中也没有这个功能

楼主你好,请问碰撞是怎么判断的呢?是普通的判断还是box2d这样的物理引擎判断?

您好,碰撞检测使物理引擎检测也可以,也可以自己来计算,一般推荐使用物理引擎来管理,这样游戏效果更好。

1.3版本没这功能啊。。。

您好,1.3版本默认没有开启这个窗口,请在菜单栏中-》窗口-》资源编辑器窗口 打开该面板。感谢您对cocostudio的支持。

我这是什么问题,能帮忙看看吗

能不能给出一个两个Armature碰撞的例子啊。

能不能编辑多个碰撞区,比如一个是武器攻击区,一个人物的受伤区,还有这种多边形的碰撞有例子么?

可以编辑多个碰撞区么

nice :2::2::2::2::2:

不错!!:11::11:

我发现我不会画。。。
请问画了之后,能在编辑器中看出来效果吗?
我的是多图的序列帧动画,是不是每一个动作都需要画一个碰撞区?

可以啊~~编辑器是直接能看到绘制的区域的。