Skip to content

Latest commit

 

History

History
150 lines (136 loc) · 7.45 KB

README_zh.md

File metadata and controls

150 lines (136 loc) · 7.45 KB

spine-exporter

该项目最初是为了赛尔计划而编写的,愿阵线秩序永存。
加入茶楼喵~加入茶楼谢谢喵~

spine动画导出器。

支持的 Spine 版本

Spine 版本 状态 注释
3.7.x 计划支持 优先级排在 4.0.x 之后
3.8.x 支持中 仅测试 3.8.95/3.8.99 版本
4.0.x 计划支持 计划在 1.0 版本支持

特色功能

  • 不依赖 spine 编辑器软件
  • 完全命令行界面
  • 可批量导出
  • 支持.skel/.json骨架导入
  • 可将动画导出为 GIF/MOV/PNG 序列/单帧 PNG
  • 纹理解包功能

安装

建议使用Volta,安装 Volta,然后:

$ volta install [email protected]
$ npm i -g spine-exporter
$ spine-export-cli --help

或者手动安装 Node,安装Node.js(版本需求~18.19 或 ~20.3),然后:

$ npm i spine-exporter
$ spine-export-cli --help

示例

导出动画

spine-export-cli [options] <inputDir>

Render and export the animation.
Note that the 'render' mentioned does not mean rendering something to the       
screen, but is just a step in exporting the animation.

命令:
  spine-export-cli export [options]         Render and export the animation.    
  <inputDir>                                Note that the 'render' mentioned    
                                            does not mean rendering something to
                                            the screen, but is just a step in   
                                            exporting the animation.    [默认值]
  spine-export-cli unpacker [options]       Load the texture atlas and then     
  <inputDir>                                unpack the texture.

选项:
      --help                         显示帮助信息                         [布尔]
      --version                      显示版本号                           [布尔]
      --inputDir                     Assets will be imported from this directory
                                     and its subdirectories, and .png/.atlas    
                                     with the same name as .skel must be
                                     included in the same directory as .skel.
                                                                 [字符串] [必需]
  -o, --output-path                  The path to output the rendering result,
                                     see examples.
                         [字符串] [默认值: "output/{assetName}/{animationName}"]
  -e, --export-type                  Specify how to export rendering results.
                       [字符串] [必需] [可选值: "gif", "png", "sequence", "mov"]
  -c, --canvas-size                  If set, old-style cropping is used, i.e.
                                     content that exceeds the canvas size will
                                     not be rendered. By default, AABB's min-max
                                     vertex positioning rendering range is used.
                                                         [字符串] [默认值: null]
  -s, --selected-animation           If set, only the animations in the
                                     parameters will be rendered, by default all
                                     will be rendered.       [数组] [默认值: []]
      --pre-multiplied-alpha, --pma  Whether to premultiply alpha when loading
                                     texture, try changing this option if the
                                     rendering result is incorrect.
                                                          [布尔] [默认值: false]
      --scale                        Scale the skeleton size, default is 1x.
                                                              [数字] [默认值: 1]
  -f, --fps                          Rendering frame rate, invalid when
                                     --exportType is 'png'.  [数字] [默认值: 30]
      --end-position                 If set, rendering will end at the specified
                                     frame.            [数字] [默认值: Infinity]
      --exporter-max-concurrent      Maximum number of concurrencies for export
                                     functions                [数字] [默认值: 2]

示例:
  spine-export-cli --export-type gif        Render assets in ./assets/ and
  assets/                                   export to GIF.
  spine-export-cli -e png -o                Render the assets in ./assets/ and
  output/{assetName}_{animationName}        export the first frame. Assume the
  assets/                                   asset name is 'foo', the animation
                                            name is 'bar', and the exported file
                                            is 'foo_bar.png'
  spine-export-cli -e sequence -o           Render the first five frames of the
  output/{assetName}/{animationName}        assets in ./assets/ and export them
  assets/                                   as a png sequence. The sequence file
                                            name is '{animationName}_%d.png'.

需要将同一个资源的文件(即骨骼/纹理/纹理图集)放在相同目录下,如下所示:

示例
├─assets
|   ├─260_durnar #资源1
|   |     ├─build_char_260_durnar.atlas
|   |     ├─build_char_260_durnar.png
|   |     └build_char_260_durnar.skel
|   ├─258_podego #资源2
|   |     ├─build_char_258_podego.atlas
|   |     ├─build_char_258_podego.png
|   |     └build_char_258_podego.skel

output-path选项支持使用大括号模板字符串,以下是支持的关键字:

关键字 描述
assetName 资源名称
assetPath 资源所在路径
fps fps选项
scale scale选项
animationName 当前提取的动画名称

示例:

spine-export-cli -e png -o output/{assetName}_{animationName} assets/

纹理解包

spine-export-cli unpacker [options] <inputDir>

Load the texture atlas and then unpack the texture.

选项:
      --help                         显示帮助信息                         [布尔]
      --version                      显示版本号                           [布尔]
      --inputDir                     Texture will be imported from this
                                     directory and its subdirectories. The atlas
                                     with the same name as the Texture must be
                                     contained in the same directory as the
                                     Texture.                    [字符串] [必需]
  -o, --output-dir                   Textures output path.
                                        [字符串] [默认值: "{assetPath}/images/"]
      --pre-multiplied-alpha, --pma  Specifies whether premultiplied alpha is
                                     preserved when exporting textures, if not,
                                     unpremultiplied alpha is exported (which is
                                     lossy).              [布尔] [默认值: false]

unpacker命令的output-dir选项也支持assetPath模板字符串关键字。