龙骨

龙骨是Egret公司的一个用来做动画的软件,本文分享一下如何在Unity2D中使用龙骨导出的2D动画

导出动画

在龙骨中文件->导出,导出动画数据和纹理到Unity的项目中,如果打包了的话就在Unity的项目的目录下解压,解压后我们可以看到3个文件

Animation_ske.json(骨骼配置)
Animation_tke.json (图集配置)
Animation_tex.png (图集图片)

简单来讲,动画的数据在骨骼配置文件里,图集配置文件记录了图片的位置和路径

向Unity添加龙骨插件

要在Unity使用龙骨,必须要将龙骨的插件添加到项目里,这个插件是一个标准的UnityPackge,可以在龙骨官方博客下载,下载完成后,在Unity Editor中,Assets->import package->custom package,选择刚刚下载好的DragonBonesForUnity.unitypackage文件,导入

在Unity中使用龙骨动画

终于回到正题了,首先在场景中创建一个DragonBones Armature Object, 导入龙骨的插件后可以在Hierarchy视图中右键看到DragonkBones这个选项,点击Armature Object

创建成功,选中这个Armature对象,查看Inspector视图

可以看到,这个对象自带一个UnityArmatureComponent组件,这个组件下有一个叫做龙骨数据(DragonBonesData)的属性,我们刚刚导出到项目里的龙骨动画明明是三个文件,这要怎么办呢?

在Unity的文件管理器中找到我们导出的龙骨动画的三个文件,将三个文件选中,右键Create->DragonBones->Create Unity Date

然后就可以看到三个文件的目录下多了一个UnityData文件,将这个文件拖动到刚刚的UnityArmatureComponent组件中,并点击Create加载动画,就可以在Scene中看到你的动画角色了

至于UnityArmatureComponent中加载了龙骨数据后出现的属性都比较简单,就不一一讲解了,接下来讲一下播放动画的API

用脚本播放动画

创建一个脚本PlayerCtrl

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerCtl : MonoBehaviour 
{
private DragonBones.UnityArmatureComponent unityArmature;//UnityArmatureComponent对象
void Start () 
{
unityArmature = GetComponent<DragonBones.UnityArmatureComponent>();//获得UnityArmatureComponent对象
unityArmature.Play("Idel");//播放动画
}
void Update()
{
}
}

将这个脚本绑定到角色上,角色就开始播放动画了,至于换装系统暂时还没接触到。