spine-unity
运行时简介
下载
spine-unity 4.2
spine-unity unitypackage
- spine-unity 4.2 (更新于 2025-05-16, changelog)
适用于Spine 4.2.00或更高版本, 以及Unity 2017.1-6000.0.
使用git URL添加包: (各URL分别为spine-csharp, spine-unity 和示例文件)
https://github.com/EsotericSoftware/spine-runtimes.git?path=spine-csharp/src#4.2
https://github.com/EsotericSoftware/spine-runtimes.git?path=spine-unity/Assets/Spine#4.2
https://github.com/EsotericSoftware/spine-runtimes.git?path=spine-unity/Assets/Spine Examples#4.2
URP Shaders UPM包 com.esotericsoftware.spine.urp-shaders
- Unity 2019.3-6000.0: spine.urp-shaders 4.2 (更新于 2025-04-01)
适用于spine-unity 4.2, 以及Unity 2019.3-6000.0.
使用git URL添加包: (适用于通过UPM安装的spine-unity)
https://github.com/EsotericSoftware/spine-runtimes.git?path=spine-unity/Modules/com.esotericsoftware.spine.urp-shaders#4.2
LWRP Shaders UPM 包 com.esotericsoftware.spine.lwrp-shaders
- Unity 2019.1: spine.lwrp-shaders 4.2 (更新于 2024-04-17)
适用于spine-unity 4.2, 以及Unity 2019.1. - Unity 2019.2: spine.lwrp-shaders 4.2 (更新于 2024-04-17)
适用于spine-unity 4.2, 以及Unity 2019.2.
使用git URL添加包: (适用于通过UPM安装的spine-unity)
https://github.com/EsotericSoftware/spine-runtimes.git?path=spine-unity/Modules/com.esotericsoftware.spine.lwrp-shaders#4.2
时间轴扩展 UPM 包 com.esotericsoftware.spine.timeline
- spine.timeline 4.2 for spine-unity unitypackage (更新于 2024-04-17)
适用于spine-unity 4.2, 以及Unity 2017.1-6000.0. - 备选方案: spine.timeline 4.2 for spine-unity UPM (更新于 2024-04-17)
若使用 Unity 包管理器(UPM)安装 spine-unity 运行时而非 unitypackage, 请使用该包. 适用于spine-unity 4.2, 以及Unity 2017.1-6000.0.
使用git URL添加包:
https://github.com/EsotericSoftware/spine-runtimes.git?path=spine-unity/Modules/com.esotericsoftware.spine.timeline#4.2
spine-unity 4.3-beta
spine-unity unitypackage
- spine-unity 4.3-beta (更新于2025-04-28, changelog)
适用于Spine 4.3.00-beta或更高版本, 以及Unity 2017.1-6000.0.
使用git URL添加包: (各URL分别为spine-csharp, spine-unity 和示例文件)
https://github.com/EsotericSoftware/spine-runtimes.git?path=spine-csharp/src#4.3-beta
https://github.com/EsotericSoftware/spine-runtimes.git?path=spine-unity/Assets/Spine#4.3-beta
https://github.com/EsotericSoftware/spine-runtimes.git?path=spine-unity/Assets/Spine Examples#4.3-beta
URP Shaders UPM 包 com.esotericsoftware.spine.urp-shaders
- Unity 2019.3-6000.0: spine.urp-shaders 4.3-beta (更新于 2025-04-10)
适用于spine-unity 4.3-beta, 以及Unity 2019.3-6000.0.
使用git URL添加包: (适用于通过UPM安装的spine-unity)
https://github.com/EsotericSoftware/spine-runtimes.git?path=spine-unity/Modules/com.esotericsoftware.spine.urp-shaders#4.3-beta
时间轴扩展 UPM 包 com.esotericsoftware.spine.timeline
- spine.timeline 4.3-beta for spine-unity unitypackage (更新于 2025-04-09)
适用于spine-unity 4.3-beta, 以及Unity 2017.1-6000.0. - spine.timeline 4.3-beta for spine-unity UPM (更新于 2025-04-09)
若使用 Unity 包管理器(UPM)安装 spine-unity 运行时而非 unitypackage, 请使用该包. 适用于spine-unity 4.3-beta, 以及Unity 2017.1-6000.0.
使用git URL添加包:
https://github.com/EsotericSoftware/spine-runtimes.git?path=spine-unity/Modules/com.esotericsoftware.spine.timeline#4.3-beta
懒加载扩展 UPM 包 com.esotericsoftware.spine.on-demand-loading
- spine.on-demand-loading 4.3-beta for spine-unity unitypackage (更新于 2025-04-16)
适用于spine-unity 4.3-beta, 以及Unity 2017.1-6000.0. - spine.on-demand-loading 4.3-beta for spine-unity UPM (更新于 2025-04-16)
若使用 Unity 包管理器(UPM)安装 spine-unity 运行时而非 unitypackage, 请使用该包. 适用于spine-unity 4.3-beta, 以及Unity 2017.1-6000.0.
使用git URL添加包:
https://github.com/EsotericSoftware/spine-runtimes.git?path=spine-unity/Modules/com.esotericsoftware.spine.on-demand-loading#4.3-beta
Addressables 扩展 UPM 包 com.esotericsoftware.spine.addressables
- spine.addressables 4.3-beta for spine-unity unitypackage (更新于 2025-04-16)
适用于spine-unity 4.3-beta, 以及Unity 2017.1-6000.0. - spine.addressables 4.3-beta for spine-unity UPM (更新于 2025-04-16)
若使用 Unity 包管理器(UPM)安装 spine-unity 运行时而非 unitypackage, 请使用该包. 适用于spine-unity 4.3-beta, 以及Unity 2017.1-6000.0.
使用git URL添加包:
https://github.com/EsotericSoftware/spine-runtimes.git?path=spine-unity/Modules/com.esotericsoftware.spine.addressables#4.3-beta
在新项目中安装 spine-unity
- 创建一个空白的新项目.
- 导入你下载的 spine-unity.unitypackage 组件包. (双击即可触发 Unity 包导入流程).
若你对 spine-unity 尚无了解, 请移步spine-unity 运行时文档的安装一章来了解更多信息.
在现有项目中更新运行时
- 如同 Unity 的更新一样, 建议在进行更新前备份你的整个 Unity 项目.
- 在更新你的 Spine 运行时前, 务必与你的主程和TA做好确认. Spine运行时是开源的, 并允许用户根据不同的项目需求进行修改. 因此你项目中的 Spine 运行时有可能已被程序员修改. 此时若需要更新最新的运行时, 也需要将这些重新修改一遍新版本的运行时.
- 请阅读 unitypackage 中包含的
CHANGELOG.md
文件或浏览 github 更改日志页面. 如果有过时的函数方法被新方法所取代, 可以在这些文档中找到细节表述.
就地更新 (通过.unitypackage)
当进行大版本升级时(例如从3.8升级到4.0), 请参阅 spine-unity 文档中的更新 spine-unity 运行时一章. 如果是小版本升级(例如从4.0到新的4.0包), 请按以下步骤进行更新:
- 打开Unity项目.
- 双击 unitypackage 文件或将其拖入 Unity 编辑器的项目视图, 即可将 .unitypackage 导入你的项目.
- 导入对话框将显示哪些文件会更新, 即使你在上次导入后更改过文件位置.
若修改或替换了元文件(meta), 文件重定位功能可能无法正常工作. 这时就必须在导入 unitypackage 前删除旧版运行时.
要了解更多的更新方法, 请参阅 spine-unity 文档中的更新 spine-unity 运行时一章.
安装扩展 UPM 包
- 在 spine-unity 下载页中找到所需的 UPM 包, 也可以在 Git 仓库的 spine-runtimes/spine-unity/Modules 子目录下找到它们.
- 若已打开了某个 Unity 项目, 建议你: a) 关闭 Unity 或 b) 关闭当前包含了 Spine 组件的场景 (建议你新建一个空场景来执行安装).
- 在解压了 UPM 包(如果使用git, 则是复制文件)后: a) 把包中的文件复制到你项目中的
Packages
目录. Unity 会自动加载它 b) 把包中的文件复制到Assets
目录外的任意位置, 然后在 Unity 中打开Package Manager (Window > Package Manager)
, 选择+
图标, 单击Add package from disk...
, 选择package.json
文件. - 此时在
Project
面板中的Packages
下就会显示出你刚安装的包, 比如Spine Lightweight RP Shaders
. 如果该条目没有在Project
面板中显示, 你可能需要重启一下Unity.
更新当前的 UPM 包
- 原则上与升级 Spine Unity 运行时 方法一致.
- 如上所述, 建议在执行更新前备份整个Unity项目.
就地更新 (通过.zip文件或git更新)
- 若已打开了某个Unity项目, 建议你: a) 关闭 Unity 或 b) 关闭当前包含了 Spine 组件的场景 (建议你新建一个空场景来执行安装).
- 将新版本 UPM 包的 zip 文件或 git 目录中的内容复制到当前版本的运行时目录中. 根据你安装 UPM 包的不同方式, 目录可能是项目中的
project_root/Packages/package_name
目录, 也可能是Assets
目录外的任意目录, 可以通过Add package from disk..
来加载它. - 如果你已经关闭了 Unity, 那请在 Unity 中再次打开你的项目.
- Unity 此时将会导入新资产并显示一个加载进度条.
已知问题:
- SkeletonData 资产为空的时候, 是无法把它拖入层级视图中的. 你只能将它们放入场景视图, 或者在拖入层级视图前创建一个空 GameObject.
Unity的限制:
- Unity 的物理组件不支持动态分配的顶点, 所以它们不反映 BoundingBoxAttachments 的骨骼权重(bone-weighted)和变形(deformed). 然而 BoundingBoxAttachments 的内部顶点数据在运行时内仍然可被正确变形, 但你得自己写代码来进行碰撞检测.
- Spine 动画不会被导入为 Unity.AnimationClip 对象. Unity 使用了不同的曲线方案(curve scheme), 而且其功能与 Spine 动画的功能不能完美兼容. 而 spine-unity 使用核心 C# Spine.Animation 对象制作动画, 这些对象能够保持所有 Spine 动画特性. 这意味着一些便利性功能可能无法保留, 比如在 Unity 的编辑模式下无法用动画面板来回放动画.
- Unity 不会识别所有的文件类型, 所以 atlas 需要导出为
.atlas.txt
格式. 同样, 二进制文件也需要导出为.skel.bytes
. 关于导入 Spine 资产的更多信息, 请参阅文档中的 Spine 资产一节 - Unity 在多 material /多子网格、排序和动态合批(batching)方面有个老毛病. 若使用多 materials 的 skeleton 有多个副本, Unity 的动态合批系统会尝试将相似的 materials 合批, 但它在有多个相似 materials 的子网格的合批过程中, 会破坏 skeleton 内的排序. 要解决 Unity 的这个毛病, 可以在你的 Spine GameObject 中添加一个 Sorting Group 组件. 不过若你的 skeleton 只使用一种 texture 和 material, Unity 原生的合批系统性能仍是更好的.
兼容性须知
- 运行时只能加载与 Spine 编辑器版本一致的二进制导出文件(新旧版本均应执行重导出).
- Json 导出文件更稳定, 有更大可能与未来版本兼容, 但并非万无一失.
- 如果你想避免出现与某个既定运行时版本的不兼容, 你可以将特定于该运行时的Spine编辑器版本固定下来. 在Spine的
Settings...
窗口中就能搞定.
欲知更多详情, 请参见论坛中的这篇帖子.
早期版本
spine-unity unitypackages
spine-unity 4.1 for Unity 2017.1-2023.1
spine-unity 4.1 2024-06-19
(最近更新时间: UTC - 2024 Jun 19)
spine-unity 4.0 for Unity 2017.1-2022.1
spine-unity 4.0 2024-08-21
(最近更新时间: UTC - 2024 Aug 21)
spine-unity 3.8 for Unity 2017.1-2020.3
spine-unity 3.8 2021-11-10
(最近更新时间: UTC - 2021 Nov 10)
spine-unity 3.7 for Unity 5.6-2018.4
spine-unity 3.7 2019-08-05
(最近更新时间: UTC - 2019 Aug 05)
spine-unity 3.6 for Unity 5.6-2018.2:
spine-unity 3.6 2019-05-13
(最近更新时间: UTC - 2019 May 13)
spine-unity 3.5 for Unity 5.4-2017.1:
spine-unity 3.5 (Unity 5.4)
(最近更新时间: UTC - 2017 June 18)
spine-unity 3.0 for Unity 4.6:
spine-unity 3.0 (Unity 4.6)
(最近更新时间: UTC - 2017 May 9)
UPM 包
URP Shaders UPM包 com.esotericsoftware.spine.urp-shaders
spine.urp-shaders 4.1 2023-10-26 - Unity 2019.3-2023.1
适用于spine-unity 4.1, 以及Unity 2019.3-2023.1.
spine.urp-shaders 4.0 2022-05-25 - Unity 2019.3-2022.1
适用于spine-unity 4.0, 以及Unity 2019.3-2022.1.
spine.urp-shaders 3.8 2021-03-04 - Unity 2019.3-2020.3
适用于2019-12-20之后的spine-unity 3.8或更高版本, 以及Unity 2019.3-2020.3.
LWRP Shaders UPM包 com.esotericsoftware.spine.lwrp-shaders
spine.lwrp-shaders 4.1 2022-07-01 - Unity 2019.1
适用于spine-unity 4.1, 以及Unity 2019.1.
spine.lwrp-shaders 4.1 2022-07-01 - Unity 2019.2
适用于spine-unity 4.1, 以及Unity 2019.2.
spine.lwrp-shaders 4.0 2021-07-01 - Unity 2019.1
适用于spine-unity 4.0, 以及Unity 2019.1.
spine.lwrp-shaders 4.0 2021-07-01 - Unity 2019.2
适用于spine-unity 4.0, 以及Unity 2019.2.
spine.lwrp-shaders 3.8 2021-03-04 - Unity 2019.1
适用于spine-unity 3.8, 以及Unity 2019.1.
spine.lwrp-shaders 3.8 2021-03-04 - Unity 2019.2
适用于spine-unity 3.8, 以及Unity 2019.2.
时间轴扩展 UPM 包 com.esotericsoftware.spine.timeline
spine.timeline 4.1 for spine-unity unitypackage (更新于 2023-09-13)
适用于spine-unity 4.1, 以及Unity 2017.1-2023.1.
备选方案: spine.timeline 4.1 for spine-unity UPM (更新于 2023-09-13)
若使用 Unity 包管理器(UPM)安装 spine-unity 运行时而非 unitypackage, 请使用该包. 适用于spine-unity 4.1, 以及Unity 2017.1-2023.1.
spine.timeline 4.0 2022-06-01 for spine-unity unitypackage
若通过unitypackage(默认)安装spine-unity, 请使用该包. 适用于spine-unity 4.0, 以及Unity 2017.1-2022.1.
备选方案: spine.timeline 4.0 2022-06-01 for spine-unity UPM
若使用 Unity 包管理器(UPM)安装 spine-unity 运行时而非 unitypackage, 请使用该包. 适用于spine-unity 4.0, 以及Unity 2017.1-2022.1.
spine.timeline 3.8 2021-03-19
适用于2019-10-3之后的spine-unity 3.8或更高版本, 以及Unity 2017.1-2020.3.
spine.timeline 3.8 2019-08-05
适用于2019-10-3之前的spine-unity 3.8, 以及Unity 2017.1-2019.2.