当前位置: 首页 > news >正文

Unity如何使用Spine动画导出的动画

Unity如何使用Spine动画导出的动画

  • 介绍
  • 使用版本
  • Spine导出源文件修改
  • Spine3.8.75版本导入Unity的3.8版本Spine的报错
  • Unity辅助修改Json中版本号方式
  • 总结

介绍

最近公司在做抖音小程序的小游戏,我们这边动画部分使用的是spine动画,所以会有spine导入的问题,这里我正好说一下我目前使用的spine方式和美术导出的格式。

使用版本

这里使用版本也是开始之前必须确定好的事情,因为你如果想要用Unity做抖音小游戏就必须要跟官方的插件控制好版本,我们现在永的是2021.3.14f所以我们也需要配合Spine的版本,Spine我们使用的4.0.64,Unity的插件使用的spine4.0。

Spine下载购买连接
版本要求如下所示 Unity的Spine插件官网以及版本说明
在这里插入图片描述

在这里插入图片描述
这里可以根据上面图或者连接的要求去选择自己对应的版本。

Spine导出源文件修改

在这里插入图片描述
如上图所示这是我们动画导出来的动画文件,这时候我们需要修改一下,需要将后缀.atlas的文件加上一个.txt后缀如下图
在这里插入图片描述

Spine3.8.75版本导入Unity的3.8版本Spine的报错

在这里插入图片描述
如果遇见上面的这个问题我们看一下版本是否是相近的,如果相近的基本上都可以去修改一下json文件解决。

打开json文件如下所示将3.8.75修改为3.8版本即可
在这里插入图片描述
修改完如下即可解决
在这里插入图片描述

Unity辅助修改Json中版本号方式

将如下代码放入到Unity中,之后我们在拖动Spine文件到Unity中则会自动将
“spine”:“3.8.75”
修改为
“spine”:“3.8”

using LitJson;
using System;
using System.IO;
using System.Text;
using UnityEditor;
using UnityEngine;public class SpineImportSetting : AssetPostprocessor
{//任何资源(包括文件夹)导入都会被调用的方法void OnPreprocessAsset(){try{if (!this.assetPath.EndsWith(".json"))return;//先判断是否是 spine 文件string msg = File.ReadAllText(this.assetPath, Encoding.UTF8);JsonData jsonObj = JsonMapper.ToObject(msg);JsonData item = jsonObj["skeleton"]["spine"];if (item != null && item.IsString && item.ToString() != "3.8"){jsonObj["skeleton"]["spine"] = "3.8";//美术破解的 3.8.75 导入会报错string newjson = JsonMapper.ToJson(jsonObj);File.WriteAllText(this.assetPath, newjson);AssetDatabase.Refresh();}}catch (Exception e){Debug.LogError($"SpineImportSetting 异常 {e.Message}");}}void OnPreprocessTexture(){Debug.Log("在纹理导入之前 获取通知");}void OnPostprocessTexture(){Debug.Log("在纹理导入之后 获取通知");}void OnPreprocessModel(){Debug.Log("在模型导入之前 获取通知");}void OnPostprocessModel(){Debug.Log("在模型导入之后 获取通知");}void OnPreprocessAudio(){Debug.Log("在音频导入之前 获取通知");}void OnPostprocessAudio(){Debug.Log("在音频导入之后 获取通知");}void OnPostprocessAllAssets(){Debug.Log("在一些资源被导入后调用(当资源进度条到达末端)");}//所有的资源的导入,删除,移动,都会调用此方法,注意,这个方法是static的public static void OnPostprocessAllAssets(string[] importedAsset, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths){foreach (string str in importedAsset){Debug.Log("importedAsset = " + str);}foreach (string str in deletedAssets){Debug.Log("deletedAssets = " + str);}foreach (string str in movedAssets){Debug.Log("movedAssets = " + str);}foreach (string str in movedFromAssetPaths){Debug.Log("movedFromAssetPaths = " + str);}}
}

需要LitJson的可以点击获取litjson资源链接

总结

上述是我对从Spine到导入Unity的一些相关的我遇到的点,希望能对大家有帮助,也感谢大家的支持!

http://www.lryc.cn/news/424120.html

相关文章:

  • 变量位操作
  • 内网渗透—横向移动RDPWinRMWinRSSPN扫描Kerberos攻击
  • Python套接字综合应用(UDP篇)
  • 服务器安装哪吒面板详细教程
  • LLM微调(精讲)-以高考选择题生成模型为例(DataWhale AI夏令营)
  • 安全基础学习-RC4加密算法
  • 雨云宁波电信大带宽服务器测评(非广告)
  • 2024年,最新前端趋势
  • Linux静态进程和动态进程查看管理
  • CPU飙升 怎么定位问题
  • The Sandbox 游戏制作教程第 4 章|使用装备制作游戏,触发独特互动
  • JS 和 JSX、TS 和 TSX 的区别
  • 25款极氪007上市,小米SU7就不该买?
  • 旋转字符串 | LeetCode-796 | 模拟 | KMP | 字符串匹配
  • 网络安全测试工具Burp Suite基本使用
  • 使用pytest+selenium编写网页UI自动化脚本和用例
  • 新能源遇“秋老虎”,8月第二周销量集体下滑,问界惨遭腰斩
  • SEO模板网站的wordpress主题最适合google外贸SEO
  • fetch跨域请求数据的前端设置和后端php的header设置
  • Ted靶机
  • HarmonyOS ArkTS 构建布局
  • yolov5详解(二):通过yaml文件构建完整模型
  • 8月8日学习笔记 python基础
  • 电动自行车出海黑马Avento独立站拆解(上)丨出海笔记
  • Gerrit 使用教程
  • sudu提权命令账号安全控制(su命令)执行单个命令并返回原用户、执行多个命令并返回原用户、保持当前环境变量、配置文件/etc/sudoers
  • 【线性代数】【二】2.7 矩阵的秩
  • 计算机网络部分基础知识
  • WESWOO合作的出海企业(一)
  • vue 项目中 使用vxe-grid 表格中给表格的表头设置特殊的格式 , 并且给指定的列文字设置颜色