Skeleton Viewer
Skeleton Viewer是一个可以加载和显示skeleton数据的工具. 它与预览视图非常相似, 用于测试从Spine导出的skeleton数据是如何使用Spine Runtime进行渲染的非常有用.

Skeleton Viewer使用了 spine-libgdx 运行时, 它是Spine的参考运行时,其他运行时都基于此. 如果你在使用运行时渲染骨架时遇到问题,那么Skeleton Viewer也可以帮助你确定问题出在spine-libgdx, 或是使用的其他运行时,还是你的代码中——即使你没有使用spine-libgdx.
Skeleton Viewer的源代码可在此处查阅, 你可以根据Skeleton Viewer的代码, 创建或定制适合你特定需求的工具.
用Spine启动Skeleton Viewer
可以在Spine后面跟上 --skeleton-viewer 或 --sv command line 参数来启动Skeleton Viewer:
Spine启动器 4.1.10+ 和 Spine编辑器 4.1.12+ 的版本支持该操作. 如果命令行参数未被识别, 请确保你的Spine编辑器版本是 4.1.12+, 并从你的Spine 许可证页面 中下载最新的启动器.
要运行特定版本的Skeleton Viewer, 请使用 --update 或 -u 参数:
用Spine试用版启动Skeleton Viewer
使用--skeleton-viewer 或 --sv command line参数也可以从Spine试用版 中启动Skeleton Viewer:
Spine试用版总是保持最新版本, 因此用其启动的Skeleton Viewer无法降为旧版本.
独立运行(standalone)
用Spine启动是运行Skeleton Viewer的首推方式, 但也可以单独下载它并用命令行启动之.
下载
Skeleton Viewer可以在这里以JAR文件的形式下载:
Skeleton Viewer 4.3.39-beta
Skeleton Viewer 4.2.40
Skeleton Viewer 4.1.24
Skeleton Viewer 4.0.64
Skeleton Viewer 3.8.99
Skeleton Viewer 3.7.94
Skeleton Viewer 3.6.53
Skeleton Viewer 3.5.51
Skeleton Viewer 2.1.27
请选择你用于导出数据的 Spine 编辑器版本相同的 Skeleton Viewer 版本. 如果你需要旧版本的 Skeleton Viewer, 请查找 Git历史记录 来下载源代码, 并通过源代码来启动.
Java
独立运行 Skeleton Viewer 需要Java 9+ 版本. 但你无需为启动 Skeleton Viewer 而"安装" Java. 你可以从 Adoptium 或 Zulu 下载适合你的操作系统的最新版Java (而非从Oracle下载Java), 将压缩包解压到一个文件夹中, 然后启动位于 bin 文件夹中的Java可执行文件即可.
运行
通过这样的一行命令就能直接启动Skeleton Viewer:
从命令行运行的好处是你可以看到输出的全部日志.
加载数据
Browse 按钮用于打开从 Spine 导出的 JSON 或二进制数据文件. Spine 试用版和完整版都附有可查看导出示例文件的 Skeleton Viewer. 这些文件可以在Spine完整版或Spine试用版的安装目录中找到.
Skeleton Viewer会在选定的数据文件旁边寻找具有同名的 texture atlas. 例如,如果打开了raptor.json,它将寻找raptor.atlas. 如果没有找到 atlas,Skeleton Viewer 将使用半透明的白色方块进行替代显示.
Skeleton Viewer 监控数据和 atlas 文件,若它们经历了外部修改,Skeleton Viewer 将自动重加载它们.
如果你从命令行启动 Skeleton Viewer,则可以在打开时直接指定 skeleton 的.json或.skel:
使用Skeleton Viewer
Skeleton Viewer将加载选中的skeleton并将其显示在右侧的黑色区域. 在这个区域点击和拖动可以移动skeleton. 可以用 Scale, Flip 和 Debug 控件来细致地观察研究skeleton的不同部件.
如果图像有黑边或其他显示错误, 可以尝试勾选或取消勾选 Premultiplied 选项. 启用该选项后, Skeleton Viewer 在渲染时将默认 atlas 使用了 premultiplied alpha.
Skeleton Viewer会直接播放 Animation 列表中被选中的动画. 切换不同的动画时Skeleton Viewer将使用 AnimationState 来混合淡出(cross fade)到新动画. Mix 滑块用于控制混合淡出的时长, 单位为秒.
Setup Pose 按钮可以把骨骼和槽位重置为setup pose, 这与调用 setBonesToSetupPose 或 setSlotsToSetupPose 的等效. 当动画改变skeleton时, 这些更改会一直保持, 直到你的代码或另一个动画再次更改它. 提供该功能的动机是, 由于一个动画只会修改skeleton中它key了的某些部分, 可能会由此导致一个动画无意中影响另一个动画的效果. 该主题的更多信息请参见运行时文档中 Animation changes 一节.