17.Spine和DragonBones骨骼动画

17.FGUI基础-基础元件-动画-骨骼动画


17.1 知识点

FairyGUI支持的骨骼动画

  • FairyGUI支持使用骨骼动画。
  • 它目前只支持:
    • Spine编辑器 3.8版本 导出的骨骼动画。
    • DragonBones龙骨编辑器 所有版本 导出的骨骼动画。

将骨骼动画导入到FairyGUI中

  • 在导入骨骼动画时,我们不需要导入贴图和图集描述文件。
  • 只需要导入骨骼动画描述文件即可。
    • Spine 只需导入 .json/.skel的描述文件。
    • 龙骨 只需导入 .json/.dbbin的描述文件。
  • 导入json文件后会自动生成其他两个文件。

骨骼动画资源相关设置

  • 双击动画文件打开该窗口。
  • 着色器:
    • Default:骨骼动画库自带的着色器,如果要遮罩动画需要用自定义遮罩,常规遮罩无法裁剪骨骼动画。
    • FGUI/Image:FGUI用于显示图片的默认着色器,常规遮罩可以裁剪骨骼动画。但是没有预乘处理,如果骨骼动画贴图是预乘的,那么不会显示正确。
    • 预乘:预乘 就是提前把srcRGB*srcAlpha计算出来存在贴图的rgb通道中,这样在渲染时就能少做一次乘法。
  • 贴图是否已预乘:要和骨骼动画软件发布时选项一样,否则动画显示不正确。

在Unity中使用骨骼动画

安装Spne动画和龙骨动画对应UnitySDK,拖入到Project窗口


在项目设置中添加脚本定义符号Scripting Define Symbols

  • 在使用之前 都需要添加脚本定义符号Scripting Define Symbols。
  • File——>Build Settings——>Player Settings——>Other Settings——>Scripting Define Symbols。

  • Spine添加:FAIRYGUI_SPINE。
  • 龙骨添加:FAIRYGUI_DRAGONBONES。
  • 龙骨额外操作 创建Unity Data。

  • Spine由于破解版问题 官方现在收费 直接在FGUI使用会报错。

设置组件并发布

基础包和组件面板的导入

//基础包和组件面板的导入
//设置适配相关
GRoot.inst.SetContentScaleFactor(1365, 768, UIContentScaler.ScreenMatchMode.MatchHeight);
//当前包和依赖包的加载
UIPackage package = UIPackage.AddPackage("UI/FGUI教程");
foreach (var item in package.dependencies)
{
    UIPackage.AddPackage("UI/" + item["name"]);
}
//创建组件对象 要设置为导出
GComponent view = UIPackage.CreateObject("FGUI教程", "Lesson17_FGUI基础_基础元件_动画_骨骼动画").asCom;
//添加到根对象
GRoot.inst.AddChild(view);

获取龙骨组件对象

//获取到 对应的龙骨组件对象 后 得到对应的挂载游戏对象 在找子对象 找到龙骨对象 获取上面的龙骨代码 要操作龙骨动画要看龙骨sdk里的代码
//view.GetChild("").displayObject.gameObject

运行结果


17.2 知识点代码

using FairyGUI;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Lesson17_FGUI基础_基础元件_动画_骨骼动画 : MonoBehaviour
{
    void Start()
    {
        #region 知识点一 FairyGUI支持的骨骼动画
        //FairyGUI支持使用骨骼动画
        //它目前只支持
        //1.Spine编辑器 3.8版本 导出的骨骼动画
        //2.DragonBones龙骨编辑器  所有版本 导出的骨骼动画
        #endregion

        #region 知识点二 将骨骼动画导入到FairyGUI中
        //在导入骨骼动画时,我们不需要导入贴图和图集描述文件
        //只需要导入骨骼动画描述文件即可
        //1.Spine 只需导入 .json/.skel的描述文件
        //2.龙骨 只需导入 .json/.dbbin的描述文件
        #endregion

        #region 知识点三 骨骼动画资源相关设置

        #endregion

        #region 知识点四 在Unity中使用骨骼动画
        //第一步:安装对应UnitySDK

        //第二步:导入后进行设置
        //在使用之前 都需要添加脚本定义符号Scripting Define Symbols
        //File——>Build Settings——>Player Settings——>Other Settings——>Scripting Define Symbols
        //Spine添加:FAIRYGUI_SPINE
        //龙骨添加:FAIRYGUI_DRAGONBONES

        //龙骨额外操作 创建Unity Data

        //Sine由于破解版问题 官方现在收费 直接在FGUI使用会报错


        //第三步:显示组件
        //基础包和组件面板的导入
        //设置适配相关
        GRoot.inst.SetContentScaleFactor(1365, 768, UIContentScaler.ScreenMatchMode.MatchHeight);
        //当前包和依赖包的加载
        UIPackage package = UIPackage.AddPackage("UI/FGUI教程");
        foreach (var item in package.dependencies)
        {
            UIPackage.AddPackage("UI/" + item["name"]);
        }
        //创建组件对象 要设置为导出
        GComponent view = UIPackage.CreateObject("FGUI教程", "Lesson17_FGUI基础_基础元件_动画_骨骼动画").asCom;
        //添加到根对象
        GRoot.inst.AddChild(view);


        //获取到 对应的龙骨组件对象 后 得到对应的挂载游戏对象 在找子对象 找到龙骨对象 获取上面的龙骨代码 要操作龙骨动画要看龙骨sdk里的代码
        //view.GetChild("").displayObject.gameObject

        #endregion
    }
}


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏