命令行界面
我们的导出脚本可以一次自动导出多个项目。
Spine的命令行界面(CLI)允许从命令行运行Spine来导出、导入、打包纹理图集等。作为软件构建过程的一部分,这最常用于自动导出所有项目和打包纹理图集。
以这种方式运行时,Spine会启动,执行一个或多个导出或纹理打包,然后退出。
大多数CLI参数都可以无头使用,即可以在未配置显示用户界面的计算机上使用。但是,要导出图片或视频,需要OS窗口系统和OpenGL。
使用
使用--help
参数运行Spine时,会显示CLI参数的说明。另外,当Spine使用--advanced
参数运行时,会显示高级参数。
编辑器
-h, --help 打印基本CLI帮助并退出。
--advanced 打印高级CLI帮助并退出。
-v, --version 打印版本信息并退出。
-l, --logout 注销,删除激活码。
-u, --update 要加载的Spine更新的版本号。
-f, --force 强制下载Spine更新。
-x, --proxy 检查和下载更新时使用的代理服务器。
-t, --notimeout 在检查和下载更新时禁用超时。
project.spine 要打开的Spine项目文件的路径。
要获取最新的补丁版本,与-u
或--update
一起使用的版本号的补丁部分可以使用xx
。例如,要获取最新的4.0版本:
如果你想得到最新的稳定版本,你可以指定latest
,lateststable
或stable
为版本号。如果你想获得最新的测试版本,你可以指定latestbeta
或beta
。
导出
Spine [-i <path>] [-m] [-o <path>] -e json[+pack]|binary[+pack]
导出JSON、二进制、图片或视频:
-i, --input 文件夹、项目或数据文件的路径。覆盖导出JSON。
-m, --clean 在导出之前执行动画清理。
-o, --output 写入导出文件的路径。覆盖导出JSON。
-e, --export 导出设置JSON文件的路径。
导出设置JSON文件是使用Spine点击导出
对话框底部的保存
按钮创建的。
大多数执行导出的生成脚本都希望使用--update
指定Spine编辑器版本。
CLI上指定的输入和输出路径是可选的。如果指定,它们将覆盖在导出设置JSON文件中指定的任何输入或输出路径。
输入路径是项目、JSON或二进制文件的路径。输出路径可以是文件或文件夹,具体取决于导出设置。
参数--clean-all
会清理所有导出,所以不需要为每个导出都指定--clean
。
如果指定了--clean
参数,则会在导出前执行动画清理。这不会修改项目文件。
如果指定了json
或binary
而不是导出设置JSON文件的路径,则使用默认设置执行JSON或二进制导出。如果指定了json+pack
或binary+pack
,则也会使用默认设置进行纹理打包。
导入
将JSON、二进制或项目的骨架导入到另一个项目中:
-i, --input 要导入的文件夹、项目或数据文件的路径。
-o, --output 要导入到的项目文件的路径。如果不存在,则创建。
-s, --scale 缩放要导入的项目。
-r, --import 执行骨架导入。骨架名称可以省略。
输入路径是一个项目、JSON或二进制文件。也可以是包含.spine
、.json
或.skel
文件的文件夹。
输出路径是一个项目文件。
如果指定了--scale
,则在导入项目骨架之前会对其进行缩放。
如果将项目导入到另一个项目中,则会导入所有骨架。如果使用--import
指定了骨架名称,并且只导入了一个骨架,则该骨架将被重命名。如果导入多个骨架,骨架名称将被忽略,骨架将保留其现有名称。
如果将JSON或二进制文件导入到项目中,并且使用--import
指定了骨架名称,则骨架将被重命名。如果未指定骨架名称,则使用不带扩展名的JSON或二进制文件名命名骨架。
清理
动画清理:
-i, --input 项目文件或文件夹的路径。
-m, --clean 执行动画清理并保存项目。
对项目中的所有动画执行动画清理,项目文件随更改一起保存。
输入路径为项目文件或包含.spine
文件的文件夹。
打包
Spine -i <path> [-j <path>]... -o <path> [-n <name>] -p <path>
纹理图集打包:
-i, --input 要打包的图片文件夹的路径。
-o, --output 写入纹理图集和PNG文件的路径。
-j, --project 确定网格使用哪些图片的项目路径。
-n, --name 纹理图集名称,图集和PNG文件的前缀。
-p, --pack 纹理图集名称或打包设置JSON文件的路径。
输入和输出路径是文件夹路径。
--pack
或-p
参数为:
- 写入输出文件时使用的纹理图集名称。在这种情况下,将使用默认纹理打包设置,但可以通过输入文件夹中的pack.json文件进行自定义。
- 打包设置JSON文件的路径,该文件是使用Spine点击
纹理打包器设置
对话框底部的保存
按钮创建的。 如果未指定名称,则不带文件扩展名的打包设置JSON文件名将用作纹理图集名称。
可以使用--project
指定一个或多个项目文件。启用去除空白后,纹理打包器将在这些项目中查找每个图片文件。任何找到的使用图片文件的网格都会被考虑在内,这样去除空白就不会删除网格中的部分图片。当指定--project
或-j
时,将忽略currentProject
纹理打包器设置,如同设置为true
。
解包
纹理图集解包:
-i, --input 图集图片文件夹的路径。
-o, --output 写入解包图片文件的路径。
-c, --unpack 纹理图集文件的路径。
信息
项目信息:
-i, --input 文件夹、项目或数据文件的路径。
信息为每个项目文件的输出信息。这对于了解保存项目时使用的Spine版本、项目中有多少动画以及其他信息非常有用。
输入路径为包含.spine
文件、项目文件、JSON或二进制数据文件的文件夹。
高级
-Xmx2048m 设置最大内存使用量(以MB为单位,默认值2048)。
--trace 启用额外日志记录和诊断检查。
--auto-start 自动启动。
--no-auto-start 不自动启动。
--ping 测试每个服务器的延迟(否则每4天执行一次)。
--server x 设置首选服务器,而不考虑ping(如jp/us/eu)。
--disable-audio 禁用所有音频支持。
--pretty-settings 更美观地格式化设置文件。
--keys 默认启用热键弹窗。
--hide-license 不在启动程序上显示姓名和电子邮件(如在串流时)。
--ui-scale x 设置界面比例(如200)。
--icc-profile x 设置用于色彩管理的ICC配置文件的路径。
--intro 显示Esoteric Software标志简介。
--clean-all 为所有导出执行动画清理。
--mesh-debug 在网格上显示调试信息。
--export-selection 在图片和视频导出中显示编辑器选择。
--ignore-unknown 如果无法识别CLI参数,不显示错误。
示例
Spine --export "/path/with spaces/to/export.json"
Spine --input /path/to/project.spine --output /path/to/output/
--export /path/to/export.json
Spine -i /path/to/project.spine -o /path/to/output/ -e /path/to/export.json
Spine -i /path/to/project.spine -o /path/to/output/ -e binary+pack
Spine -e /path/to/export1.json -e /path/to/export2.json
Spine -i /path/to/images/ -o /path/to/output/ --pack /path/to/pack.json
Spine -i /path/to/images/ -o /path/to/output/ -n name -p /path/to/pack.json
Spine -i /path/to/project1.spine -o /path/to/output/ -e /path/to/export1.json
-i /path/to/project2.spine -e /path/to/export2.json -i /path/to/images/
-o /path/to/output/ -p /path/to/pack.json
Spine -i /path/to/skeleton.json -o /path/to/project.spine -r skeletonName
可以在一个Spine ivocation中指定多个命令,如上面的一些示例所示。
如果输出路径的文件夹不存在,则会创建这些文件夹。
如果命令失败,Spine将返回非零错误代码。
用于导出Spine的所有示例项目的导出脚本可以作为Spine的CLI真实使用示例。Windows用户可以通过Cygwin)使用bash编写类似的脚本。
未知参数
Spine启动程序在将指定参数传递给Spine编辑器之前,会检查是否允许这些参数。如果某些CLI参数不被接受,则可能在安装Spine启动程序时这些参数不可用,但较新版本的Spine编辑器仍然可以理解它们。
在这种情况下,你可以下载并重新安装Spine启动程序,或者使用--ignore-unknown
参数,这样Spine启动程序将允许它无法识别的参数。它将为无法识别的参数打印警告,但仍会将它们传递给Spine编辑器。如果Spine编辑器无法识别它们,它们将被忽略。
使用CLI参数运行Spine
Windows
Spine for Windows自带两个可执行文件:Spine.exe
和Spine.com
。EXE文件是一个GUI应用程序,它在没有控制台窗口的情况下启动Spine,也不等待Spine退出。COM文件是一个命令行应用程序,它将Spine的输出定向到控制台窗口,并等待Spine退出。
这两个可执行文件都可以用于命令行界面,但通常首选COM文件。如果Spine安装文件夹位于系统路径或者是当前工作目录,则指定不带扩展名的Spine
将始终执行Spine.com
。例如:
Mac
使用Spine for Mac时,命令行导出是通过直接启动Spine可执行文件来完成的,而不是打开Spine.app
。可执行文件位于Spine.app/Contents/MacOS/Spine
的Spine.app
内。例如:
Linux
使用Spine for Linux时的命令行导出是通过运行Spine.sh
脚本完成的。例如: