骨骼动画
FairyGUI编辑器支持导入骨骼动画,目前支持的格式为:
Spine只支持3.8及更高版本。json格式和二进制格式都支持。龙骨支持所有版本。json格式和二进制格式都支持。
导入骨骼动画,只需将描述文件导入即可,不需要拖入atlas描述文件或者贴图。。即导入
Spinexxx.json/xxx.skel龙骨xxx.json/xxx.dbbin

上图第一个红框中的资源是Spine动画资源,第二个红框中的资源是龙骨动画资源,请认准它们的图标。设置导出,拖入舞台等操作只对这两种资源执行即可,其他同时导入的资源不需要处理,更不要设置为导出。
双击Spine资源或者龙骨资源(上图中的红框),显示以下对话框:

-
着色器-
Default这是骨骼动画库自带的着色器。使用这种着色器,如果需要遮罩动画时,需要使用自定义遮罩:组件的遮罩。常规的溢出隐藏无法剪裁骨骼动画。 -
FairyGUI/Image这是FairyGUI用于显示图片的默认着色器。使用这种着色器,溢出隐藏可以直接剪裁骨骼动画。但是,它不带预乘的处理,所以如果骨骼动画的贴图是预乘的,用这个着色器就会显示不正确。
-
-
贴图是否已预乘这里要和骨骼动画软件发布时的选项一致,否则动画显示不正确。
骨骼动画发布时会保留原来的文件名,这与纹理集发布的策略不一样。纹理集发布时通常会带上前缀,例如,如果包的文件名是abc,则会发布出abc_atlas0.png这样的图片文件。但骨骼动画不会带这样的前缀。例如,如果骨骼动画相关的文件有hero.json、hero.atlas、hero.png,则发布后这3个文件会原样拷贝到发布路径中。
在Unity中使用
-
使用Spine
- 安装Spine Runtime 3.8或以上版本。
- 在Unity编辑器的Scripting Define Symbols里增加
FAIRYGUI_SPINE。 - 打开Project Settings/Graphics/Built-in Shader Settings,在Always Included Shaders里加入Spine/Skeleton和Spine/Special/HiddenPass这两个着色器,如果你清楚做这一步的原因是什么,可以忽略这个建议,自行处理。
- 发布UI后,直接运行就能看到UI编辑器里放置好的Spine动画。
-
使用龙骨
- 安装龙骨SDK for Unity。
- 在Unity编辑器的Scripting Define Symbols里增加
FAIRYGUI_DRAGONBONES。 - 发布UI后,需要手动在Unity里为龙骨资源创建Unity Data,操作见下图:

- 运行后就能看到UI编辑器里放置好的龙骨动画。
注意:如果打包后显示不正确,很有可能是你没有正确打包它们的着色器,一般来说,把相关着色器放到Always Include。
在Egret中使用
Egret运行时只支持载入龙骨,Spine需要先转换成龙骨才能使用。
发布UI后,在Egret的资源配置文件里(default.res.json)应该有以下几个项目:
{
"url": "assets/UI/mecha_1004d_ske.json",
"type": "json",
"name": "mecha_1004d_ske_json"
},
{
"url": "assets/UI/mecha_1004d_tex.json",
"type": "json",
"name": "mecha_1004d_tex_json"
},
{
"url": "assets/UI/mecha_1004d_tex.png",
"type": "image",
"name": "mecha_1004d_tex_png"
}
配置好后,运行就能看到UI编辑器里放置好的龙骨动画。
在Laya中使用
Laya引擎不能直接解析Spine或龙骨的数据文件,需要先转换成它支持的sk格式文件。
- 发布UI。
- 使用Laya的骨骼动画工具转换发布出来的数据文件。
- 原始数据文件可以删除。
- 运行后就能看到UI编辑器里放置好的Spine或龙骨动画。
在CocosCreator中使用
发布UI后,直接运行就可以看到UI编辑器里放置好的Spine或龙骨动画。