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()
    {
        
    }
}
相關文章
相關標籤/搜索