Files
SpineParticlesWeb/connector
2026-09-06 00:38:59 +08:00
..
2026-09-05 16:20:23 +08:00
2026-09-06 00:38:59 +08:00
2026-09-05 23:35:45 +08:00
2026-09-05 23:35:45 +08:00
2026-09-05 18:45:43 +08:00
2026-09-05 22:21:52 +08:00
2026-09-05 18:45:43 +08:00
2026-09-05 18:45:43 +08:00
2026-09-05 16:20:23 +08:00

Spine粒子连接器

该连接器让部署在服务器上的 Spine粒子编辑器网页调用用户电脑中已安装、已激活的 Spine,把网页生成的 JSON 和图片转换成 .spine 工程。

使用方法

  1. 正常安装、激活 Spine。
  2. 使用 release/connector/ 中的桌面版时,macOS 打开“Spine粒子连接器.app”,Windows 打开“Spine粒子连接器.exe”。应用打开后会自动启动连接器,不需要安装 Node.js。
  3. 打开 Spine粒子编辑器网页。导出区域显示“连接器可用 · Spine 已就绪”后,点击“导出 .spine 包”。
  4. 服务器网站首次连接时,状态栏会显示“授权当前网站”。点击后会打开本机确认页,核对显示的完整网站来源(协议、域名和端口)后点击“允许此网站”。授权一次后,连接器会在本机保存允许列表;回到网页后最多等待 3 秒或点击“刷新”。

本地开发地址 127.0.0.1:5173localhost:5173 默认允许,不需要授权。

桌面窗口提供 Spine.com 路径输入框、系统文件选择器、“保存路径”“恢复自动检测”“启动连接”和“断开连接”。默认安装位置检测不到时,可手动指定命令行程序:Windows 选择 Spine.commacOS 选择 Spine.app/Contents/MacOS/Spine。关闭桌面应用会停止它启动的连接器。

项目根目录原有 .command.bat 脚本仍然保留,可继续启动 Node 脚本版连接器。桌面版与脚本版使用同一个端口,不能同时运行。

授权按完整来源区分:https://editor.example.comhttp://editor.example.comhttps://editor.example.com:8443 是三个不同的授权项。生产环境建议始终使用 HTTPS 与固定域名。

网页下载的是 ZIP 压缩包,内部包含 .spine 工程和 JSON 引用的图片目录。浏览器不能直接下载文件夹,因此使用 ZIP 保留完整目录结构;默认结构为:

SpineParticle.zip
├── SpineParticle.spine
└── images/
    └── star.png

自动版本选择

连接器读取网页请求及 JSON 内的版本,两者必须一致。支持 3.84.04.14.24.3,调用 Spine 时分别使用 3.8.xx4.3.xx 的最新可用补丁版本。

可通过环境变量覆盖自动找到的 Spine 路径:

SPINE_EXECUTABLE=/自定义路径/Spine

也可以通过逗号分隔的环境变量预先允许生产网站:

SPINE_CONNECTOR_ORIGINS=https://particle.example.com,https://editor.example.com

安全边界

  • 服务只监听 127.0.0.1:27843,不会暴露到局域网或公网。
  • 生产网站必须由用户在本机授权,授权结果保存在浏览器之外的连接器配置中。
  • 接口只接受 JSON、图片、项目名称和受支持的 Spine 版本,不能执行网页提供的任意命令。
  • 文件在系统临时目录转换,返回 .spine 后立即清理。
  • 单个 JSON 最大 64MB,单图最大 32MB,图片总计最大 128MB,请求最大 200MB。

手动启动

在项目目录运行:

npm run connector

健康检查地址:http://127.0.0.1:27843/v1/health

生成不依赖 Node.js 的桌面版

在目标操作系统上从项目根目录执行:

npm run build:connector

macOS 会生成 release/connector/macos-<架构>/Spine粒子连接器.appWindows 会生成 release/connector/windows-<架构>/Spine粒子连接器.exe。桌面程序由 C++17 编写,运行时不依赖 Node.js。默认使用 macOS 的 Apple ClangWindows 应在 Visual Studio Developer Command Prompt 中执行,默认使用 MSVC,也可通过 CXX 指定 MinGW g++。

面向其他 Mac 正式分发时,建议使用 Apple Developer ID 对 .app 签名并公证,避免 Gatekeeper 提示。