Unity3D之龙骨动画

一: 下载DragonBones插件

①,(DragonBonesCSharp版本)下载地址: https://github.com/DragonBones/DragonBonesCSharp git

②,DragonBonesToUnity版本已经中止维护github

③,DragonBonesUnity目前指向DragonBonesCSharp版本c#

因此,目前只有DragonBonesCSharp版本能够使用编辑器

二: 导入龙骨动画插件

    1,解压zip获得以下资源(须要用到)
ide

        ①, DragonBones公共库源码 : DragonBonesCSharp-master\DragonBonesCSharp-master\DragonBones\src\DragonBones动画

        ②, DragonBones Unity 库源码: DragonBonesCSharp-master\DragonBonesCSharp-master\Unity\src\DragonBonesthis

        ③, 第三方库源码 : DragonBonesCSharp-master\DragonBonesCSharp-master\3rdPartyspa

    1,导入步骤
插件

        ①, 在项目Asstes中建DragonBones文件夹
blog

        ②, 在DragonsBones中建Scripts文件夹

        ③-1, DragonBones公共库源码 加入到此Scripts文件夹中,以下:

B01.png

    

    

        ③-2,将DragonBones Unity 库源码加入到此Scripts中,(注意我加的是: DragonBonesCSharp-master\DragonBonesCSharp-master\Unity\src\DragonBones下的Scripts中的unity文件夹),以下:

B02.png

        ③-3:将第三方库源码加入到此Scripts文件夹中( 注意连带3rdParty )DragonBonesCSharp-master\DragonBonesCSharp-master\3rdParty,以下:

B03.png

        ④,加入editor编辑器及相关资源 DragonBonesCSharp-master\DragonBonesCSharp-master\Unity\src\DragonBones

            ①,编辑器 目录下的Editor文件夹

            ②,资源 目录下的Resources文件夹

            ③,将Editor,Resources2个文件夹考入到DragonBones文件夹中以下:

B04.png

    三: 使用DragonBones动画插件

            1, 将DragonBones动画文件导入到项目中,以下:

B05.png

            2,在Canvas下右击 -> DragonBones -> Armature Object(UGUI)

                ①, 该名称为dragon,检查面板以下

B06.png

            3-1,点击"JSON",弹出面板, 选择龙骨动画ske类型,以下:

B07.png

            3-2, 此时"JSON"变成"CREATE" , 点击"CREATE",多出了一个资源:

B08.png

                这个资源在哪使用 ? , 以下:

B09.png

              4,动起来(有2种方案)

                ①, 使用Animation选项

B10.png

                ②,使用代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DragonBones;

public class DragonDemo : MonoBehaviour
{
    [SerializeField]
    private UnityArmatureComponent dragon;
    // Start is called before the first frame update
    void Start()
    {
        this.dragon.animation.Play("walk", -1);
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}
相关文章
相关标签/搜索