【Unity】在Unity 3D中使用Spine开发2D动画
文章目录
- 内容概括
- 前言
- 下载
- 安装 Spine Pro
- 导入Unity插件
- Spine动画导入Unity使用
- 展现动画
- 效果展现
内容概括
本文主要讲解 Spine Pro 免(破)费(解)版的安装,以及如何将动画导入到Unity中使用。
前言
通常要用 Spine 有两个场景:
- 场景1:无论是3D游戏还是2D游戏,大部分的游戏都离不开2D UI,要想让UI更好看,通常就要加上一些动画;
- 场景2:制作2D角色动画。
现在市面上制作2D动画的软件有很多,但由于 2D 动画制作功能比较简单单一,所以大部分软件都趋于同质化。不过现在仍然有一些公司在深耕2D动画领域,想通过AI这个方向让2D动画制作更简单,我也相信这一天不远了。
当下比较流行的2D动画软件有:Spine、DragonBones(龙骨)、Adobe Animate、Toon Boom Harmony、Moho等,从易上手的方向来说DragonBones其实是比较好的选择,但是由于种种原因,DragonBones 在 2018 ~ 2019 之间就已停更了,其实这个领域如果不考虑AI的话能做的东西也不算多了,但问题在于新版的 Unity 结合旧版的DragonBones Unity插件经常会出问题,所以我近期做2D动画都是使用Spine。
下载
我在 CSDN 上传了经典破解版本,需要积分,如果实在没分可以把邮箱私信发我,我看到就给你们发过去。
下载地址:Spine Pro 3.8.75
文件内容如下:

- 压缩包里是 Spine Pro 软件,解压即可用,包内有使用方法;
- spine-unity-3.8-2021-11-10.unitypackage是要导入到Unity中的插件;
- txt文档说明了插件导入到Unity后要做的事,后续会讲解。
安装 Spine Pro
将压缩包解压到你电脑的某个位置,然后打开 “安装方法.txt” 查看安装方法。

如果不想打开,可以按照顺序,先双击 2 号文件处理注册表;再双击 3 号文件进行简单的安装,实际上就是帮你弄一下桌面快捷方式之类的;最后双击 4 号文件就可以用了,实际上桌面上应该也有快捷方式了,用哪个都行。
导入Unity插件
我使用的Unity版本是 2021.3.34 f1c1 ,先将插件拖拽到项目中 , 理论上插件就可以用了,但由于这个版本被破解的比较多,所以官方花了很大的心血来解决这个问题,他们的处理方案是这样的:

我们的应对方案是这样的:

这里的细节处理方式在第三个文件《Unity包导入后要做的事.txt》中也有讲,因为这段代码在两个类中出现过,我就不指名字了,大家全局搜索一下 3.8.75 即可找到。
至此,我们的环境都准备完毕了。
关于盗版,在这里我要强调一件事,我个人是反对盗版的,但 Spine 的基础版本无法保存和导出,属实让人有点难受,所以选择了这个版本,强烈建议大家如果用人家的东西赚到钱了,回头给人家补张票,感谢一下,别让 Spine 成为下一个 DragonBones 。
再说个题外话,龙骨是国内自己研发的2D骨骼动画编辑器,当时的市场占有率其实挺高的,可惜盗版横行,公司资金短缺,到后面公司放弃,只剩主程自己苦苦支撑,最终只能留下遗憾。真心希望未来咱们国内能有更多的游戏相关的软件出来,比如借助 AI 领域实现新一代的2D动画的编辑,甚至 3D 动画的定制化大模型训练。如果有需要,我也愿意免费贡献我的绵薄之力,只为国游腾飞、第九艺术兴盛!
Spine动画导入Unity使用
回到正题,动画的制作内容太多,我就不在这讲了,有兴趣可以去B站搜教程,这里讲一下如何在Unity中使用。
首先点击导出按钮:

导出面板注意事项:
- 数据格式建议旋转二进制;
- 扩展名后面一定要加上.bytes;

然后点击打包设置按钮:

打包设置页面注意事项:
- 扩展名一定要加上 .txt 后缀,导出来手动改文件名也可以;
- 最大宽高最好是1024以内,听说超出部分会使纹理分开保存(这个是在某个视频里看到的,并未验证过);
- 去除空白区域是否勾选是有结果上的区别的,可以两种都试试。

导出后的结果:

将这三个文件放到你的Unity项目中,插件会自动生成动画文件。

至此动画就搞好了。
展现动画
展现动画有两种情况,一种是作为 3D 物品展现,一种是作为 2D UI 展现,如下图,我们在 Hierarchy 中创建物体,第二项 SkeletonAnimation是放到 3D 场景中的,SkeletonGraphic(UnityUI)是要放到 2D Canvas里的。

选中创建的物体,然后将插件创建出来的 Asset 文件拖拽到组件上,如下图:

结果如下:

至此一个 2D 动画就放到屏幕上了,3D 也几乎是相同的操作,在此就不多赘述了。
效果展现

本文到这里就结束了,再次建议大家条件允许的话多支持正版,别寒了创作者的心 ~
更多内容请查看总目录【Unity】Unity学习笔记目录整理
相关文章:
【Unity】在Unity 3D中使用Spine开发2D动画
文章目录 内容概括前言下载安装 Spine Pro导入Unity插件Spine动画导入Unity使用展现动画效果展现 内容概括 本文主要讲解 Spine Pro 免(破)费(解)版的安装,以及如何将动画导入到Unity中使用。 前言 通常要用 Spine …...
考试:软件工程(01)
软件开发生命周期 ◆软件定义时期:包括可行性研究和详细需求分析过程,任务是确定软件开发工程必须完成的总目标, 具体可分成问题定义、可行性研究、需求分析等。 ◆软件开发时期:就是软件的设计与实现,可分成概要设计…...
数据结构应用实例(三)——赫夫曼编码
Content: 一、问题描述二、算法思想三、代码实现四、小结 一、问题描述 对一篇英文文章,统计各字符(仅限于26个小写字母)出现的次数,并据此进行 Huffman 编码。 二、算法思想 首先,打开文本文件࿰…...
关于Spring Cloud Gateway中 Filters的理解
Spring Cloud Gateway中 Filters的理解 Filters Filters拦截器的作用是,对请求进行处理 可以进行流量染色 ⭐增加请求头 例子 spring:cloud:gateway:routes:- id: add_request_header_routeuri: http://localhost:8123predicates:- Path/api/**filters:- AddR…...
【实践】应用访问Redis突然超时怎么处理?
目录标题 问题描述分析过程查看监控数据系统监控指标JVM监控指标Redis监控指标分析应用异常单机异常规律集群异常规律统计超时的key 初步结论验证结论访问Redis链路slowlogRedis单节点info all定位redis节点定位异常keybigkeystcpdump定位大key影响 经验总结 问题描述 某产品线…...
Spring Cloud Alibaba核心组件Nacos/Seata/Sentinel
文章目录 Spring Cloud Alibaba介绍Spring Cloud 微服务体系Spring Cloud Alibaba 定位 注册配置中心--Nacos服务治理架构注册中心原理 Nacos介绍Nacos 的关键特性1.服务注册和发现2.动态配置服务3.实时健康监控4.动态DNS服务5.易于集成: Nacos入门示例服务注册与发…...
Ubuntu搭建FTP服务器
1. 首先,我们需要安装和配置xinetd,安装的具体命令如下: sudo apt-get install xinetd 2. 新建tftp工作目录,并添加读、写、执行权限(没有权限后面无法正常访问该文件夹),如下图所示。 3. 安装…...
Redis在单线程下删除大Key会发生什么?怎么删除大Key?
大Key的定义 大Key是指在缓存系统(如Redis)或分布式存储中,单个键(Key)对应的数据量非常大,通常存储的是大块数据结构,例如包含大量数据的哈希表、列表、集合或有序集合。这种大Key往往会对系统…...
《Exploit temporal cues in multi-camera 3D object detection》论文泛读
ReadPaperhttps://readpaper.com/pdf-annotate/note?pdfId4666749915775385601eId2491528568128599808 针对单帧数据含有的信息太少的问题,提出了一种新的方法,BEVDet4D,这种方法可以访问时间线索,并且取得了较好的表现ÿ…...
十四、centos7 yum报错:cannot find a valid baseurl for repo:base/7/x86_64的解决方案
🌻🌻目录🌻🌻 一、 centos7 yum报错:cannot find a valid baseurl for repo:base/7/x86_64二、分析错误三、解决方案3.1 检查网络连接3.2 检查DNS设置3.3 检查YUM仓库配置3.3.1 使用官方CentOS镜像配置3.3.2 使用阿里云…...
qt使用对数坐标的例子,qchart用QLogValueAxis坐标不出图解决
硬件:ThinkPad T15 系统:win10 专业版 qt版本:Qt 5.14.1 , QtCreator 4.11.1 软件界面放了一个QPushButton,一个QVBoxLayout,如下: 主要代码如下,我添加了两条曲线,…...
Python 爬虫入门 - 爬虫 requests 请求
在当今互联网时代,数据的获取变得尤为重要,而网络爬虫作为自动化获取数据的一种方式,受到了越来越多编程爱好者和数据分析人员的青睐。Python 语言以其简洁的语法和丰富的库,成为了实现网络爬虫的首选工具。其中,requests库是一个非常流行且强大的工具,用于发送 HTTP 请求…...
flink中startNewChain() 的详解
在 Apache Flink 中,startNewChain() 是一个与算子链(operator chaining)相关的方法。与 disableChaining() 类似,它允许开发者控制算子链的创建方式,但 startNewChain() 的作用是从当前算子开始创建一个新的算子链&am…...
uniapp 苹果安全域适配
一、使用原生占位(仅App端支持) //在manifest.json 文件中 app-plus 中配置 "safearea": { "background": "#FFFFFF", "bottom": { "offset": "auto" } } 二、不使用原生占位 //&…...
linux使用命令行编译qt.cpp
步骤: mkdir qttestcd qttestvim hello.cpp #include <QApplication> #include <QDialog> #include <QLabel> int main(int argc,char* argv[]) {QApplication a(argc,argv);QLabel label("aaa");label.resize(100,100);label.show()…...
Ubuntu 22.04 LTS 上安装 Docker
单台机器安装docker环境,是为了后面安装open-webui,环境安装比较简单,没有难点,但一定要按步骤走,否则还是会遇到一些问题的。 第 1 步:更新软件包并安装必要软件 运行以下命令,更新软件包索引…...
2024秋季云曦开学考
web ezezssrf 打开环境,代码审计 看起来有点多,要绕过五层 第一层:存在弱比较,使用数组或0e绕过 yunxi[]1&wlgf[]2 yunxis878926199a&wlgfs155964671a 第二层:存在强比较,此处使用string限制…...
基于STM32与Qt的自动平衡机器人:从控制到人机交互的的详细设计流程
一、项目概述 目标和用途 本项目旨在开发一款基于 STM32 控制的自动平衡机器人,结合步进电机和陀螺仪传感器,实现对平衡机器人的精确控制。该机器人可以用于教育、科研、娱乐等多个领域,帮助用户了解自动控制、机器人运动学等相关知识。 技…...
C#使用ZipFile的方法CreateFromDirectory
由于现在数据越来越大,虽然磁盘的大小也在增加,但是数据增加的速度是远超过磁盘的增加速度。 因为数据是一种思想的表现,特别是ChatGPT的AI出现,导致很多数据无限地使用机器化地产生,所以数据压缩还是很常有的事情,毕竟压缩之后可以减少磁盘空间的占用。 在C#里有一个专…...
Redis 哨兵模式的选举算法是什么?
Redis 哨兵模式中的选举算法主要用于在主节点出现故障时,从多个 Sentinel 节点中选出一个领导者(Leader)来执行故障转移操作。 Redis 哨兵的选举算法基于 Raft 算法的简化版本,但不完全等同于标准的 Raft 算法。以下是其主要过程: 一、发现主节点故障 当一个 Sentinel …...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
