Spine动画 导入COCOS和U3D

原创

很久没写教程了,主要是太忙了,最近一直在搞网狐的开发,网狐的代码确实不错,手头上作的棋牌外包,同时遇到要将SPINE动画导入U3D和COCOS,网上通常的使用教程不少的,可是不少坑点没有说到,我把遇到的坑记下来。原本我本身是动画师出身,作了5年的动画,还挺想玩一下SPINE的,可是很遗憾,盗版只到1.8好像,正版已经3点几了,正版须要2100,肉痛啊。json

一.COCOSLUA 数组

1.播放Json动画工具

local Node_CarSpine = self:getResourceNode():getChildByName("Node_CarSpine")
spine_Car = sp.SkeletonAnimation:create("spine/chezi.json","spine/chezi.atlas",1) 
spine_Car:setAnimation(0, "animation", false)性能

坑点: 运行时卡死,没有任何提示。缘由是:COCOS版本和SPINE动画的版本不匹配,我当时是COCOS3.17,能够播放3.6.50的动画,可是2点几的带骨骼的动画不行,非骨骼动画能够播放,我用COCOS3.10播放2点几的没问题,3.6.50又不行。网上有工具,大概叫:spine3.0导出文件转换成cocos3.8可以使用文件工具测试

2.播放Skel动画动画

MainScene.spine_Man=sp.SkeletonAnimation:createWithBinaryFile("spine/pumpkin.skel","spine/pumpkin.atlas",1)spa

坑点: 运行奔溃,会弹个窗口,大概意思是骨骼信息错误,COCOS3.14之后才有比较好的对Skel动画的支持,缘由是:COCOS版本和SPINE运时库不匹配,个人COCOS是3.17的,可是SPINE官方最多weih维护到COCOS 3.16,降级后成功运行。教程

二.UNITY3D

1.播放Json动画开发

API我就不写了,很久没用U3D了,网上一大堆教程,主要是把 atlas 文件,更名成 atlas.txtget

2.播放Skel动画

主要是把 atlas 文件,更名成 atlas.txt    skel 文件,更名成 skel.bytes 

坑点:加载的时候报错,大概提示数组越界,缘由是SPINE运行库和SPINE动画不匹配,更换SPINE库版本。

 

总结:Skel动画是二进制文件,Json是配置文件,网上有人测试过Skel动画大概快8倍,二进制的东西确定是性能好的多,可是Skel文件没法明文知道动画名称,U3D里加载就能看见,COCOS里也能够经过 spAnimation** animal = skeletonNode->getSkeleton()->data->animations  获取到动画名,可是COCOSLUA里不行,到data里就获取不到了,我看了下绑定文件没有绑到LUA里去,因此LUA调用不了,只能本身绑定,或者是导入到U3D里面去看了。