大概三四个月前,发现一款很赞的游戏<HeroAcademy>,玩了一下感觉游戏中人物的动画做得很不错,游戏中Sprite的动画都显得很和谐,也很流畅。下载Ipa之后解包看了下,果然和想的一样,精灵的身体各个部位都拆解开放在了一张纹理图上,同时看到了一些扩展名为.animation的文件,直接用文本编辑器打开看了下,其实就是一些html标签组织的信息,看过texturePacker发布后的.plish文件的应该马上能想到,其实这些.animation文件是通过某种2d骨骼动画编辑器经过美工调整后直接导出的文件,解析帧动画的时候只要在动画frame里面找到sprite各个part在texture中的坐标然后组织,就形成一个完整的帧画面。依次解析所有的frame之后自然形成了一个比较流畅的动画。

这样做的好处显而易见,美工那边不需要重复绘制一个sprite帧动画中相同的部分,只要将sprite拆解开之后重新组织,很多动画就可以灵活地做出来了,之后导出.animation就行了,工作量大大降低,而且图片文件不会那么多,客户端在开发的时候也不会因为内存的问题太过于头疼。其实这种模式在J2me的时代早就被采用了,我这里只是炒了次冷饭。

之后公司里也有声音说接下来开发的游戏可能会考虑使用类似的动作编辑器,让我找找看有没有比较易用的。于是本人就开始寻找了,终于在cocoaChina的论坛上找到过一哥们儿推荐的,叫MotionWelder,原帖在这里,总得来说这个软件还是不错的,有java的版,有支持cocos2d的库,做动画的时候不用考虑OS了。不过有几个缺点:

1. 不能单独调整某一个小切图的色彩,也就是说如果同一张拼图,你想做成A(我方,红色调),B(敌方,蓝色调),这个是没法做到的。
2. 不支持retina,至少在我之前用的时候是不支持的。不过只要看过CCMWSprite后,稍稍修改- (void) setFrameIndex:(int) index的几个地方就可以实现支持两种屏幕

但是后来公司在开发的时候居然还是选择了让美工逐帧去绘制,我除了无语还能说什么呢,当然这就是后话了。

刚好前段时间又在微博上看到cocosBuilder又发了新的版本,之前的1.0我用过,在搭建静态的界面,做得的确可圈可点,除了一些操作上的不便利之外,没有什么太大的Bug,但是不足的是不支持动画编辑。但是在2.0上cocosBuilder添加了这个功能,并且支持骨骼动画编辑,于是我就抱着试试的态度装了2.0。

总得来说2.o在1.0的基础上做了比较大的改变,首先组建的创建更加人性化了,在右上角直接有对应的button可以操作,而且在工程的结构组织上和1.0相比,1.0就像是个简易版,2.0的话就是企业版了。首先2.0在创建的时候并不是直接创建.ccb,对应的还包括.proj项目文件,在项目中你可以统一管理多个.ccb场景。并且在工程发布的时候可以生成.ccbi,取代了在cocos2d中使用的ccb文件,这样操作当然让你的项目更加的安全了。说了这么多还没讲到动画编辑功能,直入正题:

个人感觉CocosBuilder在动画的编辑操作设计上应该借鉴了Adobe的影视剪辑和后期处理软件,当然这只是我的猜测。因为在CocosBuilder的时间线操作区域设计得和premiere设计得非常像,因为本人之前做过一些操作过这些软件,所以在使用CococsBuilder2.0进行一些动画的创建和编辑的时候显得非常顺手,类似一些添加关键帧的快捷键等等,在我印象中和AE中的快捷键都是一样的。到目前为止感觉都还是挺不错的。

但是在做骨骼动画的时候就觉得不是很顺手了。因为没有一个窗口可以预览所有.plist文件中的图片,仅仅靠图片名来选切片操作和MotionWelder比起来就显得不是很人性化了。但是在CococsBuilder里面你可以分门别类地在任意的关键帧里面设置任意切面的属性,包括颜色旋转缩放等等。

说到最后,希望CococsBuilder可以对动画编辑这块做一些强化,因为是开源的,有空也可以去github上学习一下,说不定自己哪天兴趣来了做一个动画编辑加强的插件也蛮好的·





blog comments powered by Disqus

Published

26 October 2012

Tags