# Spine是什么？

Spine 是一款针对游戏开发的 2D 骨骼动画编辑工具。 Spine 旨在提供更高效和简洁
的工作流程，以创建游戏所需的动画。

## 优势

在 Spine 中通过将图片绑定到骨骼上，然后再控制骨骼实现动画。 2D 骨骼动画相对于传统的逐帧动画有以下优势：

* **最小的体积：** 传统的动画需要提供每一帧图片。而 Spine 动画只保存骨骼的动画数据，它所占用的空间非常小，并能为你的游戏提供独一无二的动画。

* **美术需求：** Spine 动画需要的美术资源更少，能为您节省出更多的人力物力更好的投入到游戏开发中去。

* **流畅性：** Spine 动画使用差值算法计算中间帧，这能让你的动画总是保持流畅的效果。

* **装备附件：** 图片绑定在骨骼上来实现动画。如果你需要可以方便的更换角色的装备满足不同的需求。甚至改变角色的样貌来达到动画重用的效果。

* **混合：** 动画之间可以进行混合。比如一个角色可以开枪射击，同时也可以走、跑、跳或者游泳。

* **程序动画：** 可以通过代码控制骨骼，比如可以实现跟随鼠标的射击，注视敌人，或者上坡时的身体前倾等效果。

# 功能#
<div class="units-row-end columns">
<div class="unit-50">
!!
**摄影表**

在动画制作过程中摄影表是最核心的地方。这里包含了所有重要的细节，通过它可以创建动画以及对时间轴进行微调。

![Dopesheet](/img/features-dopesheet.png)

**曲线编辑器**

在曲线编辑器中可以通过调整贝赛尔曲线来控制两帧之间的差值，以实现栩栩如生的动画效果。

![Graph Editor](/img/features-graph.png)

**反向动力学工具**

姿势工具可以利用反向动力学便捷的调整姿势。

![IK Posing](/img/features-posing.png)

**皮肤**

皮肤可以为做好的动画切换图片素材。通过改变附加在骨骼上的图片来实现动画的重用。

![Skins](/img/features-skins.png)

**边界框**

边界框可以附加在骨骼上，并且随着骨骼移动。它主要用于碰撞检测和物理集成。

![Bounds](/img/features-bounds.png)

</div>
<div class="unit-50">
!!
**网格**

允许你在矩形边界内自定义多边形。这将提高最终纹理贴图集的空间使用率，因为在多边形外的像素将被忽略掉，这种优化对移动设备来说特别重要。网格的另外一个功能就是支持自由变形和蒙皮。

![Meshes](/img/features-meshes.png)

**自由变形**

自由变形也称为FFD，是Free-Form Deformation的简写，它允许你通过移动网格点来变形图片。FFD 能实现网格的：拉伸、挤压、弯曲、反弹，等一些矩形图片无法实现的功能。

![Free-Form Deformation](/img/features-ffd.png)

**蒙皮**

蒙皮允许将网格中指定的点附加给指定骨骼。然后附加点将随着骨骼移动，网格则随之自动发生变形。现在可以用骨骼动作控制角色的图片进行弯曲变形了。

**输出格式**

Spine 能将项目中的动画导出为 JSON 或二进制格式文件，它们能在 Spine 运行时库中完美的再现。 Spine 同时还可以导出 GIF 动画， PNG 或 JPG 序列图，还有 AVI或 QuickTime 的视频文件。

![Export formats](/img/features-export.png)

**导入**

Spine 通过路径查找并导入由其它工具生成的数据文件，它能够识别符合要求的JSON 或二进制格式数据。也可以从别的 Spine 项目中导入骨架和动画。

![importing](/img/features-import.png)

**纹理打包**

Spine 能将图片打包成纹理贴图集，这能提高你在游戏中的渲染效率。Spine 的纹理贴图打包工具拥有很多功能比如剥离空白区域，旋转，自动缩放等等…(主要目的是为了充分利用空间)

![Texture Packer](/img/features-texturepacker.png)

</div>
</div>

!!
# 运行时#

制作出惊艳的动画只是工作的一部分 —— 您还需要在游戏中显示它们。Spine运行时可以让您的游戏引擎播放这些动画，效果就如同在Spine里显示的那样。

Spine运行时提供了一组API，可以直接访问骨骼(bones)，附件(attachments)，皮肤(skins)和其它动画数据。在程序中可以控制骨骼，混合动画、淡入淡出等等。

官方的运行时放在[GitHub](https://github.com/EsotericSoftware/spine-runtimes)上，并授权允许Spine用户在其程序中使用Spine运行时。这里提供了所有源码，它将是你游戏中必不可少的一部分。

[支持的游戏引擎](/spine-runtimes)

# 开发 Development

Spine尚在积极开发中。我们经常一周发部多个新版本。您可以密切关注[更新日志](/spine-changelog)了解详情。如果想更详进的了解我们的开发计划和进度，请关注[Spine Roadmap](/spine-roadmap)的 （一种管理进度的团队协作工具）。在上面你可以对开发任务进行投票和评论，还可以订阅它，这样当开发完成时，您就会收到电子邮件通知。

我们在持续开发新功能同时，也在不断的完善和优化软件的各个方面。通常这些意见都来自用户的反馈。我们渴望了解哪里工作的正常，哪里出了问题。所以请来[Spine论坛](/forum)分享您的心得吧。