新增3.4版本支持
This commit is contained in:
1 parent
4c5033d2f9
commit
9635428f78
21 files changed
+5425
-51
No files matched your search
@@ -8,7 +8,9 @@
|
||||
|
||||
普通图片(`png/jpg/jpeg/webp`)仍由 Eagle 原生预览,插件不接管。
|
||||
|
||||
支持的 Spine 版本:**3.6 / 3.7 / 3.8 / 4.0 / 4.1 / 4.2 / 4.3**。
|
||||
Eagle 按最后一段后缀分发格式扩展,因此插件同时注册 `txt` 和 `bytes`,再检查完整文件名。导入复合后缀时,插件通过缩略图回调将 `lili.atlas.txt` 规范为 `name: "lili"`、`ext: "atlas.txt"`,`skel.bytes` 同理,磁盘文件名保持不变;同时生成匹配新名称的 WebP 缓存。这样可避开 Eagle 对 `txt` 强制显示文本卡片的逻辑。普通 TXT 保留文本内容、正常显示;普通 BYTES 显示文件说明,两者都不扫描资源库。修改注册后需要重新加载插件或重启 Eagle。旧条目重新生成缩略图后,如果列表仍保留旧名称,需要重新打开素材库。
|
||||
|
||||
支持的 Spine 版本:**3.4 / 3.6 / 3.7 / 3.8 / 4.0 / 4.1 / 4.2 / 4.3**。
|
||||
|
||||
> 关键特性:无需网络、不走 CDN。所有 Spine 官方运行时代码都已拷贝到插件本地 `lib/` 目录,不含 git 子模块。
|
||||
|
||||
@@ -31,6 +33,7 @@ SpineViewer/
|
||||
│ ├─ spine-legacy-binary.js # 3.6/3.7 二进制解析兼容层
|
||||
│ └─ spine-render.js # 纯 Node 渲染模块(缩略图用)
|
||||
├─ lib/ # 各版本 Spine 官方运行时(已拷贝到本地)
|
||||
│ ├─ 3.4/ spine-canvas.js
|
||||
│ ├─ 3.6/ spine-canvas.js
|
||||
│ ├─ 3.7/ spine-canvas.js
|
||||
│ ├─ 3.8/ spine-canvas.js
|
||||
@@ -57,12 +60,12 @@ SpineViewer/
|
||||
- 播放 / 暂停(空格)
|
||||
- 循环开关
|
||||
- 播放速度调节
|
||||
- 预乘 Alpha(PMA)贴图渲染开关
|
||||
- 预乘 Alpha(PMA)贴图渲染开关:仅手动切换时保存当前素材的设置,重新打开自动恢复;默认导入和预览不写入设置
|
||||
- 时间轴拖动、动画时长、秒刻度与关键帧标记
|
||||
- 零时长动画按单帧静态姿势预览
|
||||
- 自动适配并居中
|
||||
- 将当前帧设为自定义缩略图,并通知 Eagle 立即刷新列表缓存
|
||||
4. **缩略图**:使用 `@napi-rs/canvas` 在 Node 中跨 item 文件夹读取资源并渲染骨骼首帧。自动生成和预览器中手动点击“生成缩略图”都会在右下角添加 Spine 官方 badge,便于识别数据文件。导入时会等待同批文件写入稳定,再按入库批次配对,避免复用旧库里的同名资源。处理器写入 PNG 工作图,最终缩略图缓存格式由 Eagle 决定,可能是体积更小的 WebP。
|
||||
4. **缩略图**:使用 `@napi-rs/canvas` 在 Node 中跨 item 文件夹读取资源并渲染骨骼首帧。自动生成和预览器中手动点击“生成缩略图”都会在右下角添加 Spine 官方 badge,左下角添加完整导出版本号(例如 `3.4.02`),便于识别数据文件。无法识别版本时不显示版本文字。导入时会等待同批文件写入稳定,再按入库批次配对,避免复用旧库里的同名资源。处理器写入 PNG 工作图,最终缩略图缓存格式由 Eagle 决定,可能是体积更小的 WebP。
|
||||
- 同一前缀的 `atlas/json/skel` 共用资源发现和渲染任务,完成后主动补刷这一组的全部数据条目。
|
||||
- JSON 只在存在 Spine 官方导出的 `skeleton.spine` 版本字段时才按骨骼数据处理;普通 JSON、JSONC 和仅含 `bones` / `slots` 同名字段的数据会立即生成中性文件缩略图,不进入全库资源扫描或补刷队列。
|
||||
- 暂时缺少骨骼、atlas 或贴图时,前台最多短暂等待约半秒便显示回退图;后台采用逐步降频的方式观察约两分钟。链路补齐且文件稳定后自动生成 WebP 并通知 Eagle 刷新;更晚补拖的文件会通过新的导入回调重新触发识别。
|
||||
@@ -72,6 +75,10 @@ SpineViewer/
|
||||
|
||||
## 使用说明
|
||||
|
||||
预览与手动缩略图使用 WebGL 绘制网格三角形,避免 Canvas 逐三角形裁切造成的细线接缝,覆盖全部八个运行时版本。WebGL 不可用时回退到 Canvas。
|
||||
|
||||
Eagle 的公开素材 API 不提供任意自定义元数据字段。预乘设置保存在 Eagle 用户数据目录的 `SpineViewer/preview-settings/` 下,以素材库和素材 ID 区分;不修改 Eagle 的 `metadata.json`、标签或注释,也不会随素材导出到其他电脑。
|
||||
|
||||
- 将 Spine 导出的一整套文件(`.skel`/`.json` + `.atlas` + `.png` 等)放在**同一个文件夹**并导入 Eagle。
|
||||
- 点击其中任何一个文件即可预览动画;点击配套的贴图或 atlas 也会自动找到整套资源。
|
||||
|
||||
@@ -79,6 +86,17 @@ SpineViewer/
|
||||
|
||||
## 关于新版/旧版二进制
|
||||
|
||||
- **3.4**:使用官方 3.4.02 运行时与匹配的二进制解析分支,支持 JSON、SKEL、SKEL.BYTES、ATLAS、ATLAS.TXT,包含网格、变形、多皮肤、约束、时间轴、预乘及缩略图。3.4 本身没有裁剪附件。已验证九组官方 JSON/SKEL 示例;本地路径长度修正见 `lib/3.4/README.md`。
|
||||
|
||||
3.4 测试资源与回归命令(下载包括配套 PNG,可直接导入 Eagle):
|
||||
|
||||
```sh
|
||||
node tests/fetch-legacy-fixtures.js tests/.fixtures 3.4
|
||||
node tests/legacy-binary.test.js tests/.fixtures 3.4
|
||||
```
|
||||
|
||||
3.4 JSON 导出对数值采用截断,测试容许对应量化误差;Goblins 二进制还将三个端点相同的阶梯区间优化为线性,测试明确验证此差异。运行时保留二进制原始精度。
|
||||
|
||||
- **3.8 / 4.x** 的 `.skel` / `.skel.bytes` 二进制文件完整支持。
|
||||
- **3.6 / 3.7**:插件已加入基于官方同版本 `spine-libgdx/SkeletonBinary.java` 移植的 JavaScript 解析兼容层,支持 `.skel` / `.skel.bytes`。无需同时导入 JSON;SKEL、atlas 和贴图齐全即可预览、生成缩略图及后台补刷。
|
||||
- 旧版数据始终使用匹配的 3.6 或 3.7 运行时,保留网格、权重、变形、约束、裁剪、绘制顺序和事件。3.7 的 IK 压缩/拉伸与音频事件字段单独解析。兼容层不需要编译或联网。
|
||||
|
||||
Reference in new issue
Block a user