初学者的导出指南 - spine-unity教程
June 4th, 2026
在这段面向初学者的全新教程视频中,我们将详细讲解如何在 Spine 4.3 中导出骨骼数据并将其导入 Unity 6 的完整工作流程!
本视频还讲解了初学者在设置和导入过程中常遇到的错误。如果您是第一次将Spine 4.3与Unity进行集成,请务必观看。
这段视频对您有帮助吗?欢迎在Spine论坛分享您对这段视频的意见和感想!
June 4th, 2026
在这段面向初学者的全新教程视频中,我们将详细讲解如何在 Spine 4.3 中导出骨骼数据并将其导入 Unity 6 的完整工作流程!
本视频还讲解了初学者在设置和导入过程中常遇到的错误。如果您是第一次将Spine 4.3与Unity进行集成,请务必观看。
这段视频对您有帮助吗?欢迎在Spine论坛分享您对这段视频的意见和感想!
March 26th, 2026
滑块。变换约束。更聪明地装配。
我们很高兴宣布 Spine 新版本发布!4.3 带来了强大的新功能,让你能更好地控制骨架,同时还有大量改进,可让你的工作流程更加顺畅。
来看看本次发布的亮点!
变换约束在 4.3 中得到了大幅重做。现在,你可以将变换属性映射到不同的属性类型。例如,移动一个骨骼可以使其他骨骼旋转或缩放。任意组合都成为可能!你还可以将受约束值钳制在某个范围内,并为源骨骼和受约束骨骼分别选择世界空间或局部空间。
这些变化为自动骨架运动打开了巨大的可能性:从根据方向翻转精灵,到以最少的动画工作量创建机械连杆和复杂装配,都可以实现。
这个卷轴使用新的变换约束将移动转换为旋转和缩放。只移动一个骨骼,就能让整个卷轴卷起和展开。
Spine 4.3 还包含大量其他改进。以下是其中的一些亮点:
现在可以一次描摹多个网格,不必逐个重复相同操作。这个过程不仅快得多,描摹结果也更加准确。
网格描摹还新增了一个均匀滑块,可生成在关节处弯曲更自然的网格。
可以跨多个网格附件设置权重,不再一次只能处理一个。
你还可以一次对多个网格进行绑定、焊接、平滑、自动权重和修剪。
新的“问题”视图会把警告和项目问题集中到一个地方,你再也不需要在树中到处寻找警告图标。选择一个问题后,会直接跳转到需要注意的项目。
许多问题只需单击一下即可自动解决!
Spine 现在可以导出一个可直接打开的 HTML 页面来展示你的动画。你可以选择功能完整的嵌入式 Spine 播放器,或者在希望动画自然融入现代网页时选择 Spine Web组件。
HTML 导出还支持组合皮肤,让你无需编写自定义代码即可更轻松地预览和分享皮肤设置。
绘制顺序文件夹现在可以拥有自己的关键帧,并与主绘制顺序时间轴分离。这样你就能为单个文件夹中的内容制作动画,而不会与骨架其余部分的关键帧冲突。
你可以在不同轨道上为不同文件夹设置关键帧,从而叠加复杂的绘制顺序变化。
剪裁附件现在支持反向剪裁,因此你可以隐藏剪裁形状内部的内容,而不是隐藏外部内容。这让许多镂空和显现效果更容易制作。
剪裁也更加高效,CPU 占用更低,尤其是在使用新的凸包设置时。
链接网格不再局限于与其源网格相同的插槽。你可以将链接网格放在另一个插槽中,同时仍然共享源网格的几何结构和权重。
这让你更容易在不同皮肤、分层附件和备用装配结构之间复用相同的网格设置,而无需重复工作。
物理约束和 IK 约束现在都有一个保体积的 scaleY 设置,其中 scaleY 会与 scaleX 反向增大或缩小。这可以为有弹性的肢体、卡通风格装配或细微弹跳创建漂亮的挤压与拉伸效果。
Spine 已经有以曲线图为中心的同步模式:在曲线图中选择一个关键帧,会在摄影表中显示该时间轴。现在也可以反向操作。
在摄影表中选择一个关键帧,会在曲线图中显示该时间轴,让你在浏览大量关键帧(这是摄影表擅长的任务)的同时,也能快速访问曲线。
当关键帧值改变时,Spine 现在会更好地调整贝塞尔手柄,让曲线保持形状,大幅减少手动清理的需要。
新的“上次选择”默认曲线选项,会为新创建的关键帧使用上次选择的曲线类型。
“为受约束值设置关键帧”热键可以在约束应用后为值设置关键帧。这对于将物理或其他约束产生的运动转换为关键帧非常有用。
数字字段现在能识别数学表达式,因此你可以在输入数值的位置直接键入计算式。使用 value 或 v 引用当前值,例如:10 + v * 8
诸如 +=、-=、*= 和 /= 这样的前缀会修改当前值。你还可以使用 boneLength 和 boneRotation 等常量,以及 random 和 clamp 等函数。
这些只是 4.3 中的一小部分改进。许多其他新增内容单独来看较小,但合在一起会让日常装配、动画、导入和导出更加顺畅。
现在可以通过拖放合并皮肤,同时还有更智能的筛选和许多易用性改进,包括自动添加其他必要的骨骼和约束。
“打包项目”命令会创建一个包含项目及其图片的 ZIP。这是一种快速分享完整项目的方式,可用于团队成员、客户或支持人员,而无需手动收集文件。
导出现在使用相对路径,因此从不同文件夹和计算机导出文件到正确位置会更加容易。
“显示所有皮肤附件”现在有一个“仅固定皮肤”选项,当存在许多皮肤时,可让皮肤工作流程更清爽。
PSD 文件现在可直接从图片节点管理,改进重复 PSD 导入和同步工作流程。此外,附件现在会显示它们来自哪个 PSD。
纹理打包现在可以为每个皮肤创建单独的图集。这对于需要单独打包、加载或流式传输皮肤的项目非常有用。运行时也已更新,以支持此工作流程。
整个编辑器中的图标、滑块、禁用状态、警告和约束视觉效果都得到了改进。
图片、视频、数据和 CLI 导出都已多线程化,速度也快得多。CLI 还新增了许多导入/导出选项,让自动化管线更轻松、更灵活。
新的热键包括选择、保持、翻转和浏览关键帧,以及缩放、翻转视区、绘制顺序操作、图片路径、序列和网格编辑。
如果想了解更多细节,请展开下面的更新日志亮点。
其他更新日志亮点包括:
[rotate:degrees] 标签、输出路径默认值、缩放和合并标签,以及删除与覆盖行为。Spine 4.3 推出了 Spine Web组件,这是一组自定义 HTML 元素,可让你轻松地将 Spine 动画直接嵌入任何网页。无需编写 JavaScript 代码:只需向 HTML 添加一个标签!
Web组件非常高效。一个网页可以同时拥有数十个骨架,而不会出现性能问题。
<spine-skeleton> 元素让你可以通过简单的 HTML 属性指定图集、骨架数据、动画和皮肤,从而显示 Spine 骨架并与之交互。它会自动处理加载、渲染和播放。
<script
src="/spine-webcomponents.min.js"
></script>
<spine-skeleton
atlas="spineboy-pma.atlas"
skeleton="spineboy-pro.json"
animation="walk"
></spine-skeleton> Web组件非常适合落地页、作品集、交互式文档,以及任何你想在网页上无需编写代码就展示 Spine 动画的地方。事实上,本页所有交互式示例都是使用 Spine Web组件展示的!
Spine 4.3 对我们的原生运行时技术栈进行了重大重构,让我们能够以更高质量支持更多语言。spine-cpp 现在是我们发布的每个 C 系列运行时的共享实现,而 spine-c、spine-ios / SpineSwift 和 spine-flutter 都已重写为基于它自动生成的包装器。
spine-cpp 已扩展以支持这个新技术栈。头文件从 spine-cpp/spine-cpp/include/spine/ 移到了 spine-cpp/include/spine/,公共 API 也围绕 4.3 模型进行了重塑:分离骨骼姿势和应用后姿势、Pose / Posed / PosedActive 基类、统一的约束时间轴层级、新的 Sequence 模型、凸剪裁和反向剪裁、用加法混合取代 holdPrevious、滑块等等。它还新增了轻量级 RTTI 系统,使我们能够在其他语言中生成符合惯用写法的绑定。
spine-c 已完全重写为围绕 spine-cpp 自动生成的 C 包装器。旧的手工维护 sp* API 已被移除。新 API 使用不透明的 spine_xxx 句柄,通过生成的转换函数公开完整的 C++ 类型层级,在生成的头文件中包含可空性提示(/*@null*/)和 Doxygen 风格文档,并达到与 C++ 完全一致的功能。这对 spine-c 用户来说是破坏性变更。新的 API 和文档位于 esotericsoftware.com/spine-c。
spine-ios / SpineSwift 和 spine-flutter 现在都完全基于新的 C 运行时自动生成。两者都会将完整的 spine-cpp 类型层级公开为真正的 Swift 和 Dart 类,并具有正确的继承关系,例如 Bone : PosedActive, Posed, Update;使用语言原生的可空性(Swift 和 Dart 中的 Bone?)而不是不透明指针;并传播来自 spine-cpp 的内联文档注释。内部重写规模很大,但迁移典型应用代码大多是机械性的:导入语句会变化(Spine / SpineCppLite 变为 SpineSwift / SpineiOS),少数方法重命名以匹配 spine-cpp(setAnimationByName 改为 setAnimation,setToSetupPose 改为 setupPose,parentMesh 改为 sourceMesh,AnimationState.getCurrent 改为 getTrack),Dart 中的 getter/setter 对也变成惯用的属性(getData().setDefaultMix(0.2) 变为 data.defaultMix = 0.2)。4.3 分支上更新后的示例应用展示了完整的迁移范围。
基于此技术栈构建的其他原生运行时(spine-sfml、spine-sdl、spine-glfw、spine-godot 和 spine-ue)也已更新到新的 spine-cpp 和 spine-c API。如果你使用其中任何一个,请在升级前阅读 Spine 运行时更新日志中对应运行时的条目。
spine-cocos2dx 已在 4.3 中移除。Cocos2d-x 自 2020 年的 v4.0 以来就没有稳定版本,并且在当前 Xcode 和 iOS SDK 下,不手动打补丁已无法开箱即用地构建。如果你仍在使用 cocos2d-x 发布产品,请继续使用 spine-cocos2dx 的 4.2 分支。
Spine 4.3 还为核心语言运行时引入了一个快照测试工具。spine-libgdx 仍然是我们的参考实现,我们使用基于 LSP 的公共 API 分析,为其他运行时自动生成匹配的序列化器。每个受支持的运行时都有一个 HeadlessTest,用于加载骨架、构建 Skeleton 和 AnimationState、应用动画,并将整个对象图序列化为确定性 JSON。随后,测试工具会将该输出与 spine-libgdx 输出逐字节比较,因此我们可以精确定位哪个字段或计算出现了差异。
在 4.3 中,快照测试工具会将 spine-cpp 与 spine-libgdx 参考实现进行比较。其他核心语言运行时(spine-c、spine-ts、spine-haxe 和 spine-csharp)的接入正在进行中。Unity、Godot 和 Unreal 等引擎集成不会被直接作为目标;它们会通过其构建所基于的核心运行时间接验证。
所有官方运行时都已针对 Spine 4.3 更新,并支持新的编辑器功能。最重要的运行时更改包括:
Slider、SliderData、SliderTimeline 和 SliderMixTimeline API 支持滑块。holdPrevious 或 interruptAlpha。时间轴的 apply 方法现在使用新的 fromSetup、add 和 out 参数,轨道条目也会直接公开加法混合。TrackEntry.mixInterpolation 允许 AnimationState 混合使用非线性插值,使交叉淡入淡出比标准线性混合更平滑或更具风格化。DrawOrderFolderTimeline 支持绘制顺序文件夹,允许动画为绘制顺序文件夹变化设置关键帧。AtlasAttachmentLoader 可以允许缺失区域,AttachmentLoader API 现在也会同时接收皮肤占位符和解析后的附件名称。有关游戏引擎和语言特定的更改,请参阅 Spine 运行时更新日志。
一如既往,如果你想使用 Spine 运行时 4.3,就需要使用 Spine 编辑器 4.3 重新导出骨架。更多信息请参阅我们的 Spine 版本控制指南。
TypeScript 运行时及其 Web 后端在 4.3 中获得了许多实用改进:
SkeletonRendererCore 减少了渲染器之间的重复代码。我们的 spine-unity 运行时现在支持多线程动画和网格生成,只需打开一个开关,就能显著提升性能!
你只需要在 Spine 偏好设置中启用一个设置。如果你在骨架事件回调中执行只能在主线程完成的任务,也不用担心,我们会自动在主线程上调用所有回调。我们还让更新周期保持零分配,而这正是较简单线程实现容易出问题的地方。由于现成方案无法做到这一点,我们构建了自己的工作窃取调度器,可在各核心之间高效平衡负载,并提供可配置设置,让你根据需求调整系统。

它基于标准 C# 线程构建,因此你不需要 ECS 或 Job System 等较新的 Unity 功能。它一直兼容到 Unity 2017.1。
除此之外,我们还将 Skeleton 组件拆分为渲染组件和动画组件,使 SkeletonMecanim 首次能够为 SkeletonGraphic UI 元素制作动画。
SkeletonRenderer 和 SkeletonGraphic 组件现在负责渲染,而 SkeletonAnimation 和 SkeletonMecanim 负责动画。当你打开每个场景时,组件会自动升级,因此你可以逐个场景验证一切是否仍然正常。确认所有内容都能正确运行后,只需按一下按钮即可升级整个项目。如果你的代码涉及受影响的 API,可能需要做一些调整。我们整理了一份完整的升级指南,帮助你完成这些步骤。安装 spine-unity 4.3 运行时后,会出现一个包含所有相关信息的对话框,因此你和同事都不会错过这项变化。
基于最新的 Unity UI Toolkit 改进,Spine UI Toolkit UPM 包现在支持 PMA 图集纹理、所有混合模式和背面三角形渲染。SpineVisualElement 上新的 Detect 按钮会自动为你选择正确的材质,一键即可完成。
最后,我们还添加了许多易用性改进。 其中包括在导入新骨架时自动检测 PMA 与非预乘 alpha 不匹配。一个简单的对话框会出现,帮助你更轻松地解决任何问题。现在,在 Spine 偏好设置中也只需单击一下即可在 PMA 和非预乘 alpha 工作流程设置之间切换。皮肤重新打包现在也会处理混合模式,消除了过去的限制。
我们对 Spine 4.3 非常满意!滑块和新的变换约束为你提供了强大的新方式,让你能用更少的工作量构建复杂装配,而许多易用性改进则让日常工作流程更快、更顺畅。
感谢社区中每一位报告问题、测试 beta 版并提供建议和反馈,帮助我们塑造新功能的朋友。你们的意见非常宝贵!
祝大家快乐创作动画!
–Spine 团队
在 Spine 论坛上讨论本文。
August 1st, 2025

Come animate and configure a PNGtuber in Spine with Erika!
To watch live, follow the Esoteric Software Twitch channel to be notified of the start of a stream. Also and check the stream schedule.
If you can't make it for the stream, don't worry! We'll be uploading the recordings on our Twitch streams archive page.
Let us know your comments and opinions on the Spine forum.
May 9th, 2025
我们很高兴与你们分享一个新的 Spine 技巧教程视频!这次,我们将向你展示如何为动画切分你的美术资源。这是一项常见任务,视频中的技巧能帮助你更有效地制作角色,并为绑定和动画做好准备。
每个角色和项目都有各自的挑战,但视频中的技巧适用于各种不同的项目。除了本视频之外,务必查看我们另一个关于相同主题的博客文章,文中提供了许多示例。此外,也不要错过我们的 Twitch 直播页面!
欢迎访问 Spine 论坛 提出你的问题,并和大家一起讨论切分素材和为角色进行绑定和动画制作的工作流程!
玩得开心,享受动画制作的乐趣!