UG4L8-5——骨骼动画元件
UG4L8-5——骨骼动画元件
FairyGUI支持的骨骼动画
FairyGUI支持使用骨骼动画
它目前只支持:
- Spine编辑器 支持3.8(!)(值得一提的是,你如果真的使用spine3.8导出的骨骼动画再导入到Unity则官方提供的3.8SDK将无法解析它)及更高版本,json格式和二进制格式都支持
- DragonBones龙骨编辑器 所有版本 导出的骨骼动画
将骨骼动画导入到FairyGUI中
在导入骨骼动画时,我们不需要导入贴图和图集描述文件
只需要导入骨骼动画描述文件即可
- Spine 只需导入 .json/.skel的描述文件
- 龙骨 只需导入 .json/.dbbin的描述文件
骨骼动画资源相关设置
-
双击动画文件打开该窗口
-
着色器:
- Default:骨骼动画库自带的着色器,
如果要遮罩动画需要用自定义遮罩,常规遮罩无法裁剪骨骼动画 - FairyGUI/Image:FairyGUi用于显示图片的默认着色器,
常规遮罩可以裁剪骨骼动画。但是没有预乘处理,
如果骨骼动画贴图是预乘的,那么不会显示正确
- Default:骨骼动画库自带的着色器,
-
贴图是否已预乘:
要和骨骼动画软件发布时选项一样,否则动画显示不正确 -
预乘:就是提前把srcRGB*srcAlpha计算出来存在贴图的rgb通道中
这样在渲染时就能少做一次乘法
在Unity中使用
-
第一步:安装对应UnitySDK
-
第二步:
在使用之前 都需要添加脚本定义符号Scripting Define Symbols
File——>Build Settings——>Player Settings——>Other Settings——>Scripting Define Symbols
Spine添加:FAIRYGUI_SPINE
龙骨添加:FAIRYGUI_DRAGONBONES
龙骨额外操作:对_ske.json文件创建Unity Data
(注意!Unity2021及以上版本,如果直接这样做会出现问题,你需要通过一些操作来解决它)
补充:解决Unity2021及以上版本编辑器无法使用龙骨CreateUnityData
原文来自:关于新版本Unity编辑器无法使用龙骨CreateUnityData的问题,(感谢这位仁兄的帮助)
在Unity2021版本中,右键DB_ske文件并Create Unity Data将会产生几个警告(AssetDatabase路径无效)
报错的具体内容大概是无法解析龙骨配置信息文件,如果就这么直接运行,会导致龙骨动画无法受到GRoot控制而无法显示出来,
并且由于FairyGUI的导出配置文件中又存在了龙骨动画的元件的配置信息,从而会导致Unity抛出空引用异常(报错)
这是由于CreateUnityData选项产生的文件出现了一些问题
可以看到这里的Texture Atlas的列表元素为0,
那么这意味着它没有把龙骨动画的配置信息写入这个UnityData文件,所以我们需要手动关联龙骨动画的信息
具体做法是手动添加这个列表的元素,将后缀为_tex文件关联到Texture Atlas JSON下,
然后将图集关联到Texture下,如果有材质或着色器文件也要一同关联,
否则也会因为配置文件记录了信息但是实体文件不存在从而导致Unity抛出空引用异常,具体如下图
这样之后龙骨动画就可以显示在FairyGUI的GRoot中了