龙骨

龙骨是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()
{
}
}

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

如何在unity中使用龙骨动画的更多相关文章

  1. 如何在Unity中分别实现Flat Shading(平面着色)、Gouraud Shading(高洛德着色)、Phong Shading(冯氏着色)

    写在前面: 先说一下为什么决定写这篇文章,我也是这两年开始学习3D物体的光照还有着色方式的,对这个特别感兴趣,在Wiki还有NVIDIA官网看了相关资料后,基本掌握了渲染物体时的渲染管道(The re ...

  2. 如何在pyqt中实现带动画的动态QMenu

    弹出菜单的视觉效果 QLineEdit 原生的菜单弹出效果十分生硬,而且样式很丑.所以照着Groove中单行输入框弹出菜单的样式和动画效果写了一个可以实现动态变化Item的弹出菜单,根据剪贴板的内容是 ...

  3. 如何在Unity中创造真实的水

    你将要创造什么 Unity是由Unity Technologies开发的多平台游戏引擎,用于为控制台,移动设备,计算机甚至网站等多种设备创建视频游戏和应用程序.Unity的核心优势在于其稳健性,可移植 ...

  4. 关于Unity中旧版动画系统的使用

    Unity在5.X以后,有一个旧版的动画系统和新版的动画系统. 新版的动画系统是使用Unity动画编辑器来调的,调动画和控制动画 旧版的动画系统是用其他的第三方软件调好后导出到一个FBX文件里面,就是 ...

  5. 关于Unity中的帧动画组件的编写

    一.帧动画 1: 美术准备好一个连续动作的离散图片;2: 程序在准确的时间来切换这个图片;3: 优点: 简单,速度快; 缺点:资源占用相对过大; 二.frame_anim组件编写 1: 代码里面强制要 ...

  6. 如何在Unity中播放影片

    Unity支援影片貼圖,也就是說可以匯入影片並附加到遊戲物件上,基本上您電腦上的Quick Time播放器能播的,大致上都能播,已知的支援的影片格式有下列幾種:.mov, .mpg, .mpeg, . ...

  7. 如何在React中使用CSS3动画

    一.需求 1.在页面添加item时要有渐变效果 2.单击item可删除,带渐变效果 二.代码 1.通过Reacat插件ReactCSSTransitionGroup实现 <!DOCTYPE ht ...

  8. 如何在Unity中开发Leap Motion桌面版(Non-VR)APP

    最近因需要,翻出几年前的Leapmotion感测器,准备用Unity3D做个互动APP,于是连上官网下载SDK.等下载下来一安装调试,瞬间傻眼,居然要求VR设备.我们Lab倒是不缺VR,有几套VIVE ...

  9. 如何在Unity中显示FPS

    using UnityEngine; using System.Collections; public class example : MonoBehaviour { public float upd ...

随机推荐

  1. 微信小程序里解决app.js onLaunch事件与小程序页面的onLoad加载前后异常问题

    使用 Promise 解决小程序页面因为需要app.js onLaunch 参数导致的请求失败 app.js onLaunch 的代码 "use strict"; Object.d ...

  2. jQuery插件实例五:手风琴效果[动画效果可配置版]

    昨天写了个jQuery插件实例四:手风琴效果[无动画版]那个是没有动画效果的,且可配置性不高,本篇为有动画效果.对于一些数据做了动态的计算,以实现自适应. 欢迎大家入群相互交流,学习,新群初建,欢迎各 ...

  3. 乘风破浪:LeetCode真题_033_Search in Rotated Sorted Array

    乘风破浪:LeetCode真题_033_Search in Rotated Sorted Array 一.前言     将传统的问题进行一些稍微的变形,这个时候我们可能无所适从了,因此还是实践出真知, ...

  4. Vue2.0中v-for迭代语法变化(key、index)【转】

    转自:http://blog.csdn.net/sinat_35512245/article/details/53966788 Vue2.0的代码中发现 $key这个值并不能渲染成功,问题如下:但是v ...

  5. es5与es6继承思考

    es5与es6继承思考 es6继承 class Father{ constructor(name){ this.name = name; } getName(){ console.log(this.n ...

  6. 性能问题案例01——sybase数据库内存问题

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/xuepiaohan2006/article/details/30064399     近期现场反馈问 ...

  7. ES6标准入门之变量的解构赋值简单解说

    首先我们来看一看解构的概念,在ES6标准下,允许按照一定模式从数组和对象中提取值,然后对变量进行赋值,这被称作解构,简而言之粗糙的理解就是变相赋值. 解构赋值的规则是,只要等号右边的值不是对象或者数组 ...

  8. POJ 3415 Common Substrings 【长度不小于 K 的公共子串的个数】

    传送门:http://poj.org/problem?id=3415 题意:给定两个串,求长度不小于 k 的公共子串的个数 解题思路: 常用技巧,通过在中间添加特殊标记符连接两个串,把两个串的问题转换 ...

  9. vagrant设置虚拟机的名字

    如果我们不在vagrant init 命令生成的vagrantfile文件中声明虚拟机的名字的话,一般会默认给我们指定一个名字,指定的方法: config.vm.provider "virt ...

  10. myEtherWallet在线钱包的使用

    https://www.myetherwallet.com/#generate-wallet myEtherWallet是一款在线钱包,当你不想安装类似metamask这样的插件时,可以选择使用它 1 ...