新的导出 shell 脚本

February 15th, 2024

简化你的 Spine 导出流程

使用我们新的 shell 脚本一次性导出你的所有项目!该脚本会搜索.spine项目文件并导出找到的每个项目。通过将一个导出设置文件放置在项目文件旁边,每个项目都可以使用不同的导出设置。

使用脚本导出有很多优点:

  • 一次性导出任意数量的项目文件。
  • 你的导出始终使用正确的设置。无需依赖 动画师每次都使用正确的设置。
  • 软件构建过程中可运行导出脚本,确保 每个版本始终具有最新的导出文件。动画师无需 记住在每次更改项目文件后执行导出。
  • 更新到较新的 Spine 版本时,你的所有项目必须再次导出。当你设置了导出脚本时,这会变得非常简单!

开始使用

如下视频展示了如何使用这些脚本,或者继续阅读本文的分步说明。

下载导出脚本

下载适合你的操作系统的脚本:

你可以在spine-scripts GitHub 存储库上找到有关这些脚本的更多信息。


配置脚本

当使用一个文本编辑器打开该脚本时,可在顶部看到Customization Section(自定义部分)。以下是 spine-export.bat 的摘录(spine-export.sh 类似):

在运行脚本之前应检查前三个设置:

  1. SPINE_EXE Spine 可执行文件的路径。如果此处找不到 Spine,脚本将在其他常见安装位置查找。

  2. VERSION 用于执行导出的 Spine 编辑器版本。保持 Spine 编辑器和运行时版本相同非常重要.

  3. DEFAULT_EXPORT 脚本会在与 Spine 项目相同的文件夹中查找导出设置 JSON 文件。如果未找到,则使用此处指定的导出设置。常见默认设置有 4 个快捷方式:jsonjson+packbinarybinary+ pack。或者,你也可以指定导出设置文件的路径(有关更多信息,请参见下文)。

运行脚本

Windows

在 Windows 上,有几种运行该脚本的方法:

  1. 将一个文件夹拖放到 spine-export.bat 文件上。
  2. 双击 spine-export.bat 文件打开一个 CMD 窗口,然后 输入或粘贴一个路径,或将一个文件夹拖放到该 CMD 窗口上。
  3. 从一个 CMD 提示符运行 spine-export.bat 文件,然后输入或 粘贴一个路径,或将一个文件夹拖放到该 CMD 窗口上。
  4. 从一个 CMD 提示符运行 spine-export.bat 文件,路径为 第一个参数。
spine-export.bat path\to\spine\project\folder

该脚本会搜索指定的文件夹和所有子文件夹。如果它找到一个 .spine文件,则将执行一次导出。


macOS 或 Linux

在 macOS 或 Linux 上,在运行 spine-export.sh 之前,你必须首先授予它执行权限。打开 Terminal,导航到脚本所在的目录,然后使用以下命令授予执行权限:

chmod +x spine-export.sh

要运行该脚本,请指定 ./spine-export.sh 以及包含要导出的 Spine 项目的目录路径。例如:

./spine-export.sh /path/to/spine/projects/directory/

如果执行脚本时不指定路径,脚本会提示输入路径。

该脚本会搜索指定目录和所有子目录。如果它找到一个 .spine 文件,则会执行一次导出。


导出设置

要指定详细的导出设置,你需要准备一个导出设置 JSON 文件。

保存导出设置

Spine 编辑器中的导出对话框左下角有一个Save(保存)按钮,可将当前导出设置保存为一个 JSON 文件。

保存的导出设置文件的扩展名将为“.export.json”。

如果在导出设置中选中了Pack(打包),则纹理打包器设置也会保存在.export.json文件中。


默认导出设置

使用一个文本编辑器打开脚本文件,并将DEFAULT_EXPORT的值更改为.export.json文件的路径。例如:

DEFAULT_EXPORT=/path/to/default.export.json

如果一个项目文件旁边没有找到.export.json文件,将使用这些设置。

请注意,导出的文件将使用Customization Section(自定义部分)中的DEFAULT_OUTPUT_DIR输出,而不是默认.export.json文件中的输出路径。

每个项目多个导出设置

要使用不同的设置导出一个 Spine 项目,请准备一个包含这些设置的.export.json文件并将其保存在与 Spine 项目相同的文件夹中。例如,文件系统层次结构可能如下所示:

<运行脚本时指定路径的文件夹>
      ├── 01
      │ ├── skeleton1.spine
      │ ├── skeleton1.export.json
      │ ├── images
      ├── 02
      │ ├── skeleton2.spine
      │ ├── skeleton2.export.json
      │ ├── images
      └── 03
         ├── skeleton3.spine
         ├── skeleton3.export.json
         └── images

.export.json文件名不需要与项目文件名匹配。

同一项目多次导出

要使用不同的导出设置多次导出一个项目,请准备并包含多个.export.json文件。例如,要以二进制格式和 PNG 序列导出骨架数据,你的文件系统层次结构可能如下所示:

<运行脚本时指定路径的文件夹>
      ├── 01
      │ ├── skeleton1.spine
      │ ├── skeleton1_Binary.export.json
      │ ├── skeleton1_PNG.export.json
      │ ├── images
      ├── 02
      │ ├── skeleton2.spine
      │ ├── skeleton2_Binary.export.json
      │ ├── skeleton2_PNG.export.json
      │ ├── images
      └── 03
         ├── skeleton3.spine
         ├── skeleton3_Binary.export.json
         ├── skeleton3_PNG.export.json
         └── images

混合默认和自定义设置

同一文件夹中没有.export.json文件将使用默认设置导出:

<运行脚本时指定路径的文件夹>
      ├── 01
      │ ├── skeleton1.spine
      │ ├── skeleton1_Binary.export.json
      │ ├── skeleton1_PNG.export.json
      │ ├── images
      ├── 02
      │ ├── skeleton2.spine <此骨架以默认格式导出>
      │ ├── images
      └── 03
         ├── skeleton3.spine
         ├── skeleton3_Binary.export.json
         ├── skeleton3_PNG.export.json
         └── images

修改脚本

欢迎你使用Spine的命令行界面编写自己的脚本或修改我们的脚本以满足你的需求。我们在脚本中编写了注释来描述它所做的一切,并且 README文件更详细地介绍了它的工作原理。


你觉得本教程有帮助吗?我们很乐意在Spine论坛中听到你的反馈!