由于 Spine3.8.75 网络上传播太多,所以官方针对这个版本做了限制,由该版本导出的 Spine 动画不能在 Unity 中正确读取。
# 修改 json
在以 json 格式导出的动画中,可以直接编辑文件修改版本号,修改版本号后就可以被 Unity 正确识别了。
# 修改二进制
上面的方法虽然方便,但是处于对性能的考量,现在基本都是用二进制数据,通过测试发现,修改二进制文件的版本号同样可以正确使用。
但是修改二进制十分麻烦,使用二进制查看器去改位非常麻烦,而且在每次导出时都需要修改一次才能正确使用。于是我做了一个简单的小工具。
var fs = new FileStream(path, FileMode.Open, FileAccess.ReadWrite); | |
// 找到的标志位 | |
fs.Position = 33; | |
fs.WriteByte(9); | |
fs.WriteByte(9); |
核心代码如上,通过二进制查看器或,for 循环找出需要修改的数据的位置,然后写入即可。
使用修正器属于修正的目录,就可以自动修正二进制文件,愉快的在 Unity 中使用了。
Ps:此方法仅供学习交流,请大家多多支持正版。