概述
一、简述
cocos studio老版本导出的骨骼动画是.ExportJson,.plist,.png三个文件,较新版本支持Skeleton制作并导出csb和对应的png。cocos studio对于美工来说制作骨骼动画并不友好,一般会用其他工具,例如Dragonbones,Spine等。Dragonbones也有多个版本,导出的数据格式也有差别,对cocos2dx的支持也因各个版本有所不同,【Dragonbones导出格式】。Spine导出的数据格式也不同,而且需要收费。总之,骨骼动画的数据格式多而复杂,一开始在cocos中使用都不容易。
二、几种骨骼动画数据格式在cocos中的使用
环境:win10,cocos studio 3.10,cocos2dx-lua 3.13.1
-
cocos studio 1.6
格式:.ExportJson,.plist,.png
lua中使用示例:
local effectManage=ccs.ArmatureDataManager:getInstance() effectManage:addArmatureFileInfo("fishing/effect/dabaoza/eff_kill_dayu0.png","fishing/effect/dabaoza/eff_kill_dayu0.plist","fishing/effect/dabaoza/eff_kill_dayu.ExportJson"); local armatureObj = ccs.Armature:create("eff_kill_dayu"); armatureObj:setAnchorPoint(cc.p(0.5,0.5)) armatureObj:getAnimation():playWithIndex(0);
-
cocos studio 3.10 (Skeleton)
格式:.csb,.png
lua中使用示例:
local node = cc.CSLoader:createNode("Skeleton.csb") local nodeAction = cc.CSLoader:createTimeline("Skeleton.csb") node:addTo(hall) node:runAction(nodeAction) nodeAction:play("animation0", false)
-
dragonbones pro v5.6
dragonbones可以导出的数据格式较多 ,龙骨自身json格式,龙骨自身二进制格式,白鹭极速,白鹭MC,spine,有些格式还有不同的版本。
-
龙骨自身json格式:.json,.json,.png
在cocos中无法直接使用导出的json格式,不管是ArmatureAnimation还是SkeletonAnimation都无法使用。需要集成C++,官方给出支持3.X集成的例子,https://github.com/DragonBones/DragonBonesCPP/tree/master/Cocos2DX_3.x。这个方式改动稍大,幸亏可以曲线救国。
曲线救国方式测试:
-
导出dragonbones json 5.5版本数据格式
-
安装官方转换工具,https://github.com/DragonBones/Tools。
-
将dragonbones json数据格式转为spine格式
当前版本为
dragonbones-tools
版本为0.1.0,在导出的骨骼动画数据文件下运行db2 -t spine
,会产生spine格式数据 xx.atlas,xx.json该版本的工具没有产生.png文件,需要手动修改,打开xx.atlas文件,第一行有图片名称,当前图片名称为Dragon.png,对应将赋值Dragon_tex.png并命名为Dragon.png即可
-
在cocos中运行转换后的spine格式文件
local skeletonNode = sp.SkeletonAnimation:create("Dragon_spine.json", "Dragon_spine.atlas") skeletonNode:setAnimation(0, "stand", true) skeletonNode:setScale(0.5) skeletonNode:setPosition(display.width/2, display.height/2) gameNode:addChild(skeletonNode)
-
-
spine格式:.atlas,.json,.png
在dragonbones导出的spine格式数据,不管是选择2.1还是3.3,在cocos中使用SkeletonAnimation都无法播放。
吐槽下,这个dragonbones pro也真是怪了,导出中提供了spine格式,导出却无法使用,用插件将dragonbones json格式数据转spine格式就可以,官方这顿操作也是没谁了。
意识到dragonbones中直接导出spine不能用,而通过工具转换spine格式后却可以,立即将导出的spine格式和转换的spine格式进行对比:
Dragon.altas
(导出的)和Dragon_spine.altas
(转换的)一致,图片也一致,Dragon.json
(导出的)和Dragon_spine.json
(转换的)有些许差别,除了数字的精度,json中key的格式(是否有双引号),就只有一个头标志的差别。接着试着在导出的
Dragon.json
中加上"spine": "3.6.0"
,what,居然可以用,are you kidding me? 醉了醉了。本来想看下能不能修改Dragonbones Pro 5.6的导出插件,找了一下,没有找到,那就算了。
-
-
SpineTrial
安装后试用版无法导出,找了个demo,数据格式是.atlas,.json,.png。使用SkeletonAnimation,可以播放。
三、总结
只是整理了常用的部分骨骼动画格式,其他的格式等遇到了再整理吧。
最后
以上就是时尚香烟为你收集整理的cocos2dx-lua播放骨骼动画整理的全部内容,希望文章能够帮你解决cocos2dx-lua播放骨骼动画整理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复