简介
您刚刚从 Spine 导出了一个角色,现在只想知道一件事:跑步循环看起来是否正确?为此重新打开编辑器或在 Unity 中连接测试场景未免过于繁琐。只需打开一个浏览器标签页即可。
这就是 Spine Viewer 的用途。动画师用它来检查导出文件是否正确,开发人员用它来确认图集是否与骨骼匹配,制片人用它来查看角色而无需安装任何软件。
下面介绍如何加载文件、版本不匹配时的处理方法、如何使用调试叠加层,以及如何构建短序列并将其导出为 GIF 或视频。
观众的操作
Spine 项目的生命周期比编辑器版本更长。一个角色可能三年前用 3.8 版本导出,而另一个角色是上周用 4.2 版本导出的,这种情况很常见。您无需选择运行时环境。查看器会检查骨骼 JSON 中的版本字符串,并加载匹配的版本。如果导出版本早于 3.6 或晚于 4.3,它会提示您,而不是渲染乱码。
所有内容都绘制在浏览器中的 WebGL 画布上。文件在本地读取,绝不会发送到任何地方,这对于受保密协议约束的未发布角色美术素材至关重要。这也意味着大型纹理页面会以计算机解码速度快速显示,无需等待加载。
- 运行时版本系列 3.6、3.7、3.8、4.0、4.1、4.2 和 4.3 会根据导出文件自动选择。
- 骨架文件 JSON,以及 .atlas 文本文件及其纹理页面(PNG、JPG、WebP 或 AVIF)。Binary 的 .skel 文件需要先转换为 JSON 格式;FAQ 中有相关说明。
- 当纹理名称中包含“pma”时,预乘透明度 (Premultiplied alpha) 已启用(Spine 会在导出时添加该值),如果边缘看起来较暗或有光晕,您可以自行调整其值。
加载骨骼、图集和纹理
标准的 Spine 导出会生成三种文件:骨架文件 .json、.atlas 文本文件以及 .atlas 指向的一个或多个纹理图像。您需要所有这些文件。图集只是一张地图;没有图像,就无法绘制任何内容。
一次性选择或拖入所有图集。查看器会根据文件名将每个图集页面与其对应的图像匹配,并将角色放置在画布上。之后,您可以切换动画、尝试不同的皮肤、更改播放速度以及平移或缩放以查看细节。
- 将 Spine 导出为 JSON。如果您只有 .skel 文件,请先进行转换。
- 将 .json 文件、.atlas 文件以及所有纹理页面一起拖放到上传区域。
- 从列表中选择一个动画,并循环浏览不同的皮肤以查看每个皮肤的效果。
- 如果角色与背景融为一体,请更改背景颜色,然后根据需要进行缩放和平移。
使用调试叠加层
角色在正常尺寸下看起来可能没问题,但仍然存在一些只有在引擎中才能发现的问题:例如,网格在某一帧中发生折叠、裁剪附件裁剪过度、路径约束将骨骼拉到奇怪的位置等等。调试叠加层会将这些辅助信息绘制在图像上,以便您查看它们。
只开启你需要检查的内容。如果同时开启所有八个叠加层,屏幕很快就会变得很拥挤。骨骼和网格通常是首先要检查的,如果某些部分看起来被裁剪或漂移,则接下来检查裁剪和路径。
- 骨骼和点,用于查看绑定以及附件的悬挂位置。
- 区域、网格、外壳和边界,用于检查变形以及每个附件覆盖的区域。
- 裁剪和路径,用于检查运动中行为异常的遮罩和路径约束。
构建序列并导出 GIF 或视频
一个循环动画无法让你充分了解角色在游戏中的感觉。时间轴允许你按顺序排列多个片段,例如从待机到奔跑再到攻击,并观察过渡效果。每次交接都会应用您设置的几秒钟内即可完成的交叉淡入淡出效果,这样您就可以在引擎团队发现问题之前,判断默认混合是否流畅,或者是否需要更长时间的混合。
该序列会在单个轨道上逐个播放片段。它不是分层的多轨道混音器,因此如果您需要同时查看瞄准和奔跑等效果,请在引擎中进行测试。对于检查转场是否流畅,时间线通常足够快速且足够。
当序列看起来合适时,您可以将其导出。GIF 导出以 12 fps 的帧率捕获,并将长边限制在 640 像素,这对于 Slack 讨论串或工单来说足够了。视频导出以 30 fps 的帧率录制为 MP4 格式(如果浏览器支持),否则录制为 WebM 格式。两种格式都会嵌入当前背景颜色,因此请选择适合片段用途的格式。录制过程在您的计算机上进行;不会上传任何内容。
- 按任意顺序将片段添加到队列,并设置片段之间的淡入淡出效果。
- 回放整个序列,以查找爆音、卡顿或不自然的过渡。
- 对于评审来说很方便:当有人只需要查看动画时,发送 GIF 而不是构建版本。
- 导出为 GIF(12 fps,最高 640 像素)或 MP4/WebM 视频,使用设置的任何背景颜色。
它在管道中的位置
查看器是导出和导入之间的检查点。如果图集页面过于冗余,请使用纹理打包器重新打包。如果您继承了一个没有数据文件的散页精灵图,精灵图解包器可以将其拆分回帧。然后返回此处,确认结果仍然可以正常播放。
在浏览器标签页中进行这项检查只需一分钟。但如果角色已经处于 Unity、Phaser 或 Cocos 版本中,那么查找同样的问题通常需要花费更多的时间。
撰写者
Ankit Kumar
ToolBuddy 高级软件工程师兼创始人
使用 WebAssembly、Web Audio 和 Canvas 技术设计浏览器优先的实用程序,上传要求为零。