Sucha's Blog ~ Archive for February, 2014

14年2月28日 周五 15:08

玩了一下 2D 骨骼动画

春节前忙着出了一个只包含战斗场景的 demo,还没有动画部分,那时候这部分还 不熟悉,可没想到年后好懒散,一直弄到现在才把动画部分弄出来了一个样子。

年后也玩到了一些新的卡牌游戏,动画之精美、动作之合理连贯,让我总觉得那些 动画不像是用程序里面调出来的,而是像用动画编辑器做的。

反正我也要研究这部分,索性就大框架都看了一遍。cocos2dx 里面的 actions 就 不说了,那是基础。

不过涉及到人物复杂一点的动作,比如跑动、跳跃、攻击,这些如果用 actions 来调整,那真是头大了,且程序也不用调整那么细的部分。

这些其实是 2D 骨骼动画,之所以不用序列帧,是因为序列帧太费存储空间了。

基于 cocos2dx 的有 spine、dragonbones 以及官方的 cocostuido,其实我觉得 cocostudio 是很浅显易用的,只是导出的数据只能用在 cocos2dx 2.2.2 版本上, 可我是基于 quick-cocos2dx 来做的,这边提供的 CCArmature 版本是 2.1.5 的 呀。

所以播放出来的动画坐标都不对,我花了几个小时将 2.2.2 的 CCArmature 移植 到了 quickx 上,可是动画的前面几帧时间轴不对,总是太快,不晓得是不是新版 本底层的有了更新。

网上搜到了 zrong 修改的 Flash Pro dragonbones 插件,介绍说这部分在 2.1.5 上面效果很好,zrong 本身就经常出没于 quickx 邮件列表,我可是潜水很久了。

之所以一开始不考虑 dragonbones,一方面是担心兼容,另外就是觉得那个方向制 作工具、套件的复杂。

Flash Pro 确实是大块头,黑苹果本来没装有,我不得不重新下载一个新的,而原 来的 Adobe Extention Manager 还老是闪退,又下了一个新的,然后又花了一个 下午的时间才弄懂 Flash Pro 上面怎么玩动画。

从程序员的眼光来看,感觉相比 cocostudio 的入手难度大多了,不晓得从动画制 作师的角度看如何。

不过这个学习成本到最后发现还是值得的,播放的效果很好,然后缓动也很好,引 擎计算的插值帧也很好,还有骨骼动画确实是要构造骨骼关系才行,否则缓动计算 的骨骼运动路径是不对的。

又学会了一些东西,不过玩归玩,实际上我的游戏估计用不上这么高级的东西,老 老实实玩 actions 就好了。