# [SpineViewer](https://github.com/ww-rm/SpineViewer) [![Build and Release](https://github.com/ww-rm/SpineViewer/actions/workflows/dotnet-desktop.yml/badge.svg)](https://github.com/ww-rm/SpineViewer/actions/workflows/dotnet-desktop.yml) [中文](README.md) | [English](README.en.md) 一个简单好用的 Spine 文件查看&导出程序. ![previewer](img/preview.webp) --- ## 安装 前往 [Release](https://github.com/ww-rm/SpineViewer/releases) 界面下载压缩包. 软件需要安装依赖框架 [.NET 桌面运行时 8.0.x](https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0). 也可以下载带有 `SelfContained` 后缀的压缩包, 可以独立运行. ## 版本支持 | 版本 | 查看&导出 | 格式转换 | 版本转换 | | :---: | :---: | :---: | :---: | | `2.1.x` | :white_check_mark: | | | | `3.1.x` | | | | | `3.4.x` | | | | | `3.5.x` | | | | | `3.6.x` | :white_check_mark: | | | | `3.7.x` | :white_check_mark: | | | | `3.8.x` | :white_check_mark: | :white_check_mark: | | | `4.1.x` | :white_check_mark: | | | | `4.2.x` | :white_check_mark: | | | | `4.3.x` | | | | ## 使用方法 ### 骨骼导入 有 3 种模式导入骨骼文件: - 拖放/粘贴需要导入的骨骼文件/目录到模型列表 这种方式会自动查找传入的文件列表以及目录内的子级文件列表, 虽然方便但是依赖模型文件结构, 限制最多. - 仅支持自动发现标准的 `*.json`/`*.skel`/`.atlas` 后缀文件. - 骨骼文件和 atlas 文件需要是同名. - 需要保证骨骼文件里的版本字符串不是魔改过的. - 从文件菜单里批量打开骨骼文件 这种方式提供一定程度的文件自由度, 文件选择框里同样支持拖放/粘贴, 但是多一些额外选项. - 文件名限制条件与上面类似, 但是可以通过面板的选择文件按钮选择非标准后缀的骨骼文件. - 可以设置固定加载版本, 便于应对魔改过的版本号. - 选择单个模型打开 这种方式自由度最高, 允许选择任意的骨骼文件和 atlas 文件, 可以没有文件名限制, 并且也可以设置加载版本. ### 预览内容调整 模型列表支持右键菜单以及部分快捷键, 并且可以多选进行模型参数的批量调整. 预览画面除了使用面板进行参数设置外, 支持部分鼠标动作: - 左键可以选择和拖拽模型, 按下 `Ctrl` 键可以实现多选, 与左侧列表选择是联动的. - 右键对整体画面进行拖动. - 滚轮进行画面缩放. - 预览画面支持仅渲染选中, 在该模式下, 画面仅显示被选中的模型, 并且只能通过左侧列表改变选中状态. 在功能菜单中, 可以重置同步所有骨骼动画时间. ### 预览内容导出 导出遵循 "所见即所得" 原则, 即实时预览的画面就是你导出的画面. 导出有以下几个关键参数: - 仅渲染选中. 这个参数不仅影响预览模式, 也影响导出, 如果仅渲染选中, 那么在导出时只有被选中的模型会被考虑, 忽略其他模型. - 输出文件夹. 这个参数某些时候可选, 当不提供时, 则将输出产物输出到每个模型各自的模型文件夹, 否则输出产物全部输出到提供的输出文件夹. - 导出单个. 默认是每个模型独立导出, 即对模型列表进行批量操作, 如果选择仅导出单个, 那么被导出的所有模型将在同一个画面上被渲染, 输出产物只有一份. 支持单帧画面以及不同格式的视频导出. 视频(TODO: 目前仅支持帧序列导出), 可以在每个骨骼的模型参数中查看动画完整时长. ### 格式与版本转换 可以通过工具菜单进行骨骼文件转换, 允许二进制和文本格式之间的转换, 以及不同版本间的转换. 目前处于施工中, 仅支持转换 `3.8.x` 二进制到文本格式. --- *如果你觉得这个项目不错请给个 :star:, 并分享给更多人知道! :)*