签到领奖

[图文教程] Unity使用Dragbones骨骼动画

[复制链接]
查看: 1152|回复: 0
3江湖小虾
496/500
排名
323
昨日变化
发表于 2016-12-28 11:45:42 | 显示全部楼层 |阅读模式
github库上的说明不是很清楚,所以梳理下。
  • 下载github上的Dragbones的Unity的运行库
  • 解压后有3个文件夹:
    [AppleScript] 纯文本查看 复制代码
    /3rdParty
    /DragonBones
    /Unity
  • 新建unity工程后,把解压目录/DragonBones/src/DragonBones这个文件夹整个的方法项目的Assets/Scripts/目录下。
  • 把解压目录/Unity/src/DragonBones/unity这个文件夹放到Assets/Scripts/目录下
  • 把解压目录/3rdParty里的MiniJSON脚本放到Assets/Scripts/目录下,这3步目录都一样。
然后编写脚本构建动画角色:
  • 从DragBones软件里做好了动画后导出文件,目前包含3个文件:xxx_ske.json,xxx_tex.json,xxx_tex.png,我的理解是这三个分别是骨骼的数据,纹理数据和纹理的资源图。这3个文件放在同一个文件夹里,然后把这个文件夹导入到unity的Resources文件夹下。
  • 新建一个场景,如sceneA.场景初始只有一个主摄像机,这时建立一个空物体,即Create->Create Empty,在这个空物体上绑定一个脚本,在这个脚本的start()方法里构建动画角色,这样在游戏开始时,这个空物体被加载时就会调用start()方法,从而把动画角色构建出来。
       这个是我从他们给的Demo例子看出来的,我是新手,猜想应该还有更好的方式,特别是同一时刻有众多角色的时候。
    3.脚本的内容就参考如下:

    [AppleScript] 纯文本查看 复制代码
    using UnityEngine;
    using DragonBones;
    public class Bones :MonoBehaviour
    {
     void Start()
     {
         //这两步先加载数据,一个骨骼、一个纹理;Dragon/Dragon_ske替换成你的动画文件名
         UnityFactory.factory.LoadDragonBonesData("Dragon/Dragon_ske"); // DragonBones file path (without suffix)
         UnityFactory.factory.LoadTextureAtlasData("Dragon/Dragon_tex"); //Texture atlas file path (without suffix) 
               //这里构建动画,Dragon替换成你要构建的动画角色名
         var armatureComponent =UnityFactory.factory.BuildArmatureComponent("Dragon"); // Input armature name
         // 播放动画,walk替换成你需要的动画名
         armatureComponent.animation.Play("walk");
    
         // Change armatureposition.
         armatureComponent.transform.localPosition = new Vector3(0.0f, 0.0f,0.0f);
     }
    }

4.运行游戏,角色就构建出来了。
11/24更新
  • BuildArmatureComponent这句代码里的名字不是随便取的,要根据你在DragonBones里面创建的动画角色来决定。默认是Armature,所以导出文件取成自己想要的名字后,后面用这个名字构建角色出错。如果是多个角色嵌套的,使用xxx/yyy类似文件路径这种写法。
  2.除了使用代码,还可以在gameObject里面选择DragonBones来构建,和其他的游戏类型构建是一样的。在菜单里的gameObject选择或者在hierarchy里创建。


文/find_1991
原文链接:http://www.jianshu.com/p/710c8a6a35f0



+1
384°C
沙发哦 ^ ^ 马上
最近访问 头像模式 列表模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

在线客服(工作时间:9:00-22:00)
010-82609395
泰斗社区公众号

Copyright   ©2015-2016  【泰斗社区】-专注互联网游戏和应用的开发者平台  Powered by©Discuz!  技术支持:迪恩网络     ( 沪ICP备14023207号-9 )