Skeleton Viewer
Skeleton Viewer是一个可以加载和显示skeleton数据的工具. 它与预览视图非常相似, 用来测试从Spine导出的skeleton数据在Spine 运行时上的渲染时非常好用.
Skeleton Viewer使用了 spine-libgdx 运行时, 它是Spine的基线运行时, 其他许多运行时都基于其构建. 如果你在运行时中渲染skeleton时遇到问题, 那么Skeleton Viewer也可以帮助你确定问题是出在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.2.34
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 一节.