SpineViewer 图标 SpineViewer v1.1.0
Eagle 插件 · 完全离线 · 无 CDN

在 Eagle 里直接预览
Spine 骨骼动画

SpineViewer 接管 skel / skel.bytes / json / atlas / atlas.txt, 自动在素材库中配对骨骼、图集与贴图,识别版本并加载本地运行时。 点开任意一个文件,就能播放动画、切换皮肤、导出缩略图。

  • 9内置运行时版本
    3.4 – 4.3
  • 8种界面语言
    简繁英日韩俄西德
  • 0网络请求
    运行时全部本地化
  • 400px缩略图自动生成
    可手动更新
SpineViewer 查看器界面:正在播放 Raptor 的 walk 动画,上方为浮动控制栏与动画列表,下方为时间轴
查看器窗口 · Raptor walk(Spine 4.3.75-beta)
Spine 官方 badge 缩略图右下角带 Spine 官方 badge,左下角标注版本号(如 3.4.02
  • skel
  • skel.bytes
  • json
  • atlas
  • atlas.txt
  • png / jpg / webp · 仍由 Eagle 原生预览
FEATURES

功能特性

下面每一项都对应插件的真实行为:跨 item 文件夹配对、旧版二进制解析、WebGL 渲染、缩略图补刷……不只是“能看动画”。

完全离线运行

官方运行时全部拷贝在插件本地 lib/ 目录,无 CDN、无网络请求。断网、内网环境同样可用。

跨文件夹自动配对

Eagle 会把每个文件拆成独立 item 文件夹。插件扫描同级目录,忽略 -pro / -ess / -pma 等后缀,自动关联骨骼、atlas 与贴图;点开贴图或 atlas 也能找到整套资源。

9 个版本自动识别

从骨骼数据读取版本号并匹配对应运行时:3.4 / 3.5 / 3.6 / 3.7 / 3.8 / 4.0 / 4.1 / 4.2 / 4.3,带 -beta 的完整版本号也会显示在水印中。

旧版二进制兼容

3.4–3.7 的 .skel / .skel.bytes 由移植自官方 SkeletonBinary 的解析层处理,保留网格、权重、变形、约束、裁剪与绘制顺序,无需编译或联网。

动画与皮肤切换

左上角浮动动画列表按需自适应,条目多时独立滚动,没有动画数据时自动隐藏;切换皮肤后按 setup pose 重建槽位附件,画面立即刷新。

完整时间轴

拖动定位、显示动画时长与帧号、秒刻度,蓝色短线标出骨骼 / 插槽 / 约束的关键帧位置,悬停即可查看时间与帧号。

精准回放控制

空格播放 / 暂停、循环开关、0–3x 速度调节;零时长动画自动按单帧静态姿势预览,不会出现空白画面。

WebGL 渲染 · PMA 预乘

WebGL 绘制网格三角形避免细线接缝,贴图直传 GPU,避免低透明度颜色被量化、光晕分层;预乘默认读取 atlas 的 pma 字段,手动切换后按素材记住。

缩略图自动化

导入即渲染首帧缩略图,带官方 badge 与版本号水印;资源暂时缺失时显示回退图,并在后台观察约两分钟,文件补齐稳定后自动生成、通知 Eagle 刷新。

  • 复合后缀规范化 skel.bytes / atlas.txt
  • 50×50 方格背景(随缩放平移、参与混合)
  • 普通 JSON / TXT 安全放行
  • 8 种界面语言
  • 自动适配并居中
  • 左键平移 · 滚轮缩放 · 右键回中心
  • 设置存用户目录,不写 metadata.json
  • 手动缩略图跟随当前背景开关
REAL UI

实际界面

截图取自下方的交互演示,与插件查看器的控件布局、文案完全一致。浮动控制栏、动画列表与时间轴全部悬浮在画布上方,不挤占预览区域。

交互演示

复刻查看器的控件布局与文案,直接在页面上操作:切换动画、拖动时间轴、缩放画布试试。画面使用官方示例 Raptor(Spine 4.3.75-beta 导出,5 个动画),由 4.3 官方运行时 + 插件同款渲染模块在本地实时渲染,断网或直接双击打开同样可用。

Spine --
时长 -- 蓝色短线:关键帧
0.00 / 0.00 秒 · 0 / 0 帧

空格 播放/暂停 · 左键拖拽平移 · 滚轮缩放 · 右键回到中心 · 拖动时间轴定位帧

VERSIONS

支持版本

覆盖 Spine 3.4 – 4.3:新版二进制直接支持,旧版二进制由同版本运行时与解析层处理。

  • 3.4
  • 3.5
  • 3.6
  • 3.7
  • 3.8
  • 4.0
  • 4.1
  • 4.2
  • 4.3
版本支持格式说明
3.4 / 3.5 JSON · SKEL · SKEL.BYTES · ATLAS · ATLAS.TXT 使用官方 3.4.02 / 3.5.51 运行时与匹配的二进制分支,已验证多组官方示例的姿势对比。
3.6 / 3.7 同上 + 二进制解析兼容层 移植自官方同版本 spine-libgdx/SkeletonBinary.java;支持 3.7 的 IK 压缩/拉伸与音频事件字段,无需同时导入 JSON。
3.84.3 JSON · SKEL / SKEL.BYTES · ATLAS 二进制文件完整支持;4.3 等带 -beta 后缀的完整版本号也会显示在缩略图水印中。

损坏、截断或版本不匹配的文件会直接报告解析错误,不会以错误姿势渲染。

WORKFLOW

从导入到播放

  1. 01

    导入整套文件

    .skel / .json + .atlas + .png 放在同一个文件夹导入 Eagle。

  2. 02

    自动配对资源

    点击任一文件,插件从同级 item 文件夹定位骨骼、atlas 与贴图,配套文件不在同一目录也能找到。

  3. 03

    识别版本

    读取骨骼数据中的版本号(JSON 读 skeleton.spine,SKEL 读二进制头部),加载匹配的本地运行时。

  4. 04

    预览与缩略图

    实时播放动画;缩略图自动生成,资源稍后补齐时会在后台自动重渲并通知 Eagle 刷新列表。

INSTALL

安装使用

在 Eagle 插件社区获取插件包,然后在 Eagle 插件面板(快捷键 P)安装即可。

Eagle 插件社区 在 Eagle 插件社区获取 SpineViewer 插件页提供下载与安装说明;本页面不提供任何文件下载。 前往插件页 →

原生二进制需要与目标平台匹配;如需自行构建,可在源码目录执行 npm ci --omit=dev 后从 Eagle 插件面板打包。

  1. 安装插件

    双击 .eagleplugin 安装;或在 Eagle 插件面板中右键选择“打包/加载插件”。

  2. 源码加载(可选)

    克隆源码后在插件目录执行 npm ci --omit=dev,安装可选的 @napi-rs/canvas,再从插件面板加载。

  3. 导入素材

    把同一套 Spine 导出文件放进同一个文件夹导入 Eagle,点击任意一个文件即可预览。

FAQ

常见问题

插件会接管普通图片吗?

不会。插件只接管 skelskel.bytesjsonatlasatlas.txt(以及为复合后缀注册的 bytes / txt)。普通图片仍由 Eagle 原生预览,普通 TXT 与 JSON 也会保持原样。

预乘(PMA)设置保存在哪里?

保存在 Eagle 用户数据目录的 SpineViewer/preview-settings/ 下,按素材库与素材 ID 区分。不会修改 Eagle 的 metadata.json、标签或注释,也不会随素材导出到其他电脑。默认值读取配套 atlas 里的 pma 字段。

为什么有些 JSON 打开后没有播放控件?

只有当 skeleton.spine 是有效版本号时,插件才按 Spine 骨骼数据处理。普通 JSON、JSONC、空版本字段会立即放行,不写缩略图、不扫描资源库,查看器此时显示格式化的 JSON 文本。

3.6 / 3.7 的二进制解析可靠吗?

解析层移植自官方同版本 spine-libgdx/SkeletonBinary.java,并已验证官方 3.6.32 / 3.7.90 的七套示例。损坏、截断或版本不匹配会报告解析错误;官方 Raptor 数据中一条 IK 阶梯曲线的已知差异也已在测试中单独记录。

缩略图是怎么生成的?

使用 @napi-rs/canvas 在 Node 中跨 item 文件夹读取资源并渲染骨骼首帧,尺寸 400×400,右下角为 Spine 官方 badge,左下角为完整导出版本号。也可以在查看器里用当前帧一键生成;手动缩略图跟随当前背景开关。

资源不齐的文件会怎样?

缺少骨骼、atlas 或贴图时,前台最多短暂等待约半秒便显示回退图;后台会以逐步降频的方式观察约两分钟,链路补齐且文件稳定后自动生成缩略图并通知 Eagle 刷新。稍后补拖的文件会重新触发识别。

没有找到答案?欢迎把问题或建议发到 1181558906@qq.com