spine导出二进制文件怎么导入unity

来源:互联网 发布:腾讯手游助手网络异常 编辑:程序博客网 时间:2024/06/05 17:27

  今天说一下spine动画导出的二进制文件(.skel)怎么导入unity。

  1.首先美术那边把导出的spine二进制文件发给你。文件有三个。分别是以.atlas、.skel、png结尾的文件,如图:

  2.在图集.atlas后面加上.txt后缀。(因为unity不能识别.atlas文件,可以读取txt文件)。如图:

  3.将文件导入unity中。(前提untiy中已经存在spine-unity运行库文件)。导入后里面是没有生成xxx.asset文件。如图:

看到这怎么没有实例化出我们想要的那个对象呢?,不要急,我们一步一步来,接下来我们实例化这个对象。选中二进制文件.skel结尾。右击选择Show in Explorer在.skel后面加上.bytes后缀。返回unity中,然后Creat->Spine SkeletonData。然后把一些文件拖到新生成的New SkeletonData.asset上,如图:

这个有人说步骤好麻烦啊,确实有点麻烦。你也可以这样做。一次性把文件后缀都修改了,如图:

然后拖入unity中。

  4.这样这个对象就出现了。我们就可以在场景中进行运用了。

  到这里就结束了。有人按照这个步骤会成功。有些人说,不对啊。我怎么实例化对象的时候会报错啊。实例化不了啊。不要急。这个博主也遇到了。下面我就说一下我将二进制文件导入unity中遇到的错误及解决办法。

  问题一:当我们把修改过后缀的文件拖入到unity中会报错。如图:

  解决方案:1.可能是美术那边导出时出现的问题。你可以让美术那边再导出一次。同一个spine动画让美术导出json文件和二进制文件。如果json文件导入也出现错误,那就是美术那边导出的问题。

  2.如果导入json没问题。导入二进制有问题,那么可能是运行库版本和spine版本不一致的问题。首先你可以查看一下untiy中spine运行库的版本是多少。是否和spine版本一致。我出现这个问题就是版本不一致导致的。我说一下我的spine版本和unity里运行库版本。我们美术那么spine用的是2.1.27。我在spine官网上下载的是2.1.25,unity版本是4.6.4f1。 

   我可能比较笨吧,在网上找了好久才找到spine-unity运行库的各个版本。在这里我就简单说一下在哪里可以下载到spine-unity各个版本。1.在spine官网上。找到运行库。点击github。如图:


然后选择master下面的tags中选择相应的版本。说实话,我之前一直没发现还有这个tags。哈哈哈。。。如图:

    好了,今天就说到这吧。我搞这个的时候发现spine运行库版本和unity版本也有关系。低版本的spine运行库到高版本的unity中会出现错误。一些库文件什么的找不到的问题。

   

   补充说明:为什么spine动画要用二进制而不用json文件呢。因为spine动画使用json文件后期优化效果不太好,容易造成卡顿,加载过慢等。而二进制文件加载速度就比较快了。再说一下。二进制文件导入unity中后如果没有自动实例化对象,那么你需要手动创建。在创建的过程中有时候你会发现你创建的对象在场景中使用的时候变大了。具体说是变大了100倍。有人说我创建的时候也修改scale的大小了啊(0.01),怎么还会那么大呢?这其中就有些技巧了,你创建的时候先修改scale值,修改完之后再将需要的文件拖到相应的位置。那么你创建的大小就是缩放后的正常的大小。在场景中直接使用就是美术给你的正常大小了。