Spine的使用
今天在给项目准备资源的时候,导入Spine出现了问题
从警告上来说是材质丢失了,查看生成的material文件,发现上面的纹理是空的,但是spine需要的图片是在的,点开图片发现导入的时候默认的 TextureType是默认类型
将其类型改成sprite
重新设置材质的纹理
重新设置atlas文件的材质,至此,警告已经消除了
问题虽然解决了,但是如果之后每次导入spine时都要执行一次这个操作,这显然耗时又废力,好在Unity 提供了 AssetPostProcessor 这个接口,它允许开发者挂接到导入管线并在导入资源的前后运行脚本。可用于项目中强制执行某些最低标准。每次导入资源或者资源的导入设置发生更改时将回调此类。
参考链接AssetPostprocessor
在工程\Unity\Asset\Editor目录下新建一个类ImageImporter,这个类的作用是当导入资源是纹理的时候,将其纹理类型改成Sprite
1 |
|
修改后拖进一个新的spine文件,此时能正常生成材质
另外再导入Spine资源时还会报一个警告, 查了下资料说是需要在xxx.atlas后面添加后缀.txt以及xxx.skel文件后面添加后缀.bytes,所以需要在这个函数下添加处理这两个后缀的代码
警告如下
If this file is a Spine atlas, please change its extension to .atlas.txt
. This is to allow Unity to recognize it and avoid filename collisions. You can also set this file extension when exporting from the Spine editor.
代码如下
1 |
|
至此,已经能成功批量导入正确的spine文件了!
这个接口还提供了很多功能,后续如果有类型的问题的时候再继续研究和使用