Error reading skeleton JSON file for SkeletonData asset: qishi_SkeletonData

Error reading skeleton JSON file for SkeletonData asset: qishi_SkeletonData

动画用spine3.8.75版本导出的spien文件,unity使用3.8版本spien插件,是识别不了骨骼数据的,具体错误如下图:

www.zeeklog.com  - Error reading skeleton JSON file for SkeletonData asset: qishi_SkeletonData


解决方法:
手动改更改spien文件版本为3.8

www.zeeklog.com  - Error reading skeleton JSON file for SkeletonData asset: qishi_SkeletonData

或者代码控制,当导入spine时自动修改版本

using System;
using System.IO;
using UnityEditor;
using UnityEngine;
using System.Text;
using Newtonsoft.Json.Linq;
using Spine;
/// <summary>
/// 修改spine文件 版本
/// </summary>
public class SpineImportSetting : AssetPostprocessor
{
    //任何资源(包括文件夹)导入都会被调用的方法
       void OnPreprocessAsset()
       {
           try
           {

               if (!this.assetPath.EndsWith(".json"))
                   return;
               
               //先判断是否是 spine 文件
               string msg = File.ReadAllText(this.assetPath, Encoding.UTF8);
               JObject jo = JObject.Parse(msg);
               string item = jo["skeleton"]["spine"].ToString();
               
               if (!string.IsNullOrEmpty(item)&& item.ToString()!="3.8")
               {
                   jo["skeleton"]["spine"] = "3.8";//修改版本为3.8版本
                   File.WriteAllText(this.assetPath, jo.ToString());
                   AssetDatabase.Refresh();
               }
               

           }
           catch (Exception e)
           {
               Debug.LogError($"SpineImportSetting 异常 {e.Message}");
           }
       }
  
}

借鉴链接:

链接内使用的是LitJson解析的json,我使用的时候发现会出问题,
然后我用Json.NET,完美解决