npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

spine-exporter

v0.8.0

Published

A spine animation exporter that does not depend on spine editing software.

Downloads

101

Readme

spine-exporter

查看中文说明

spine animation exporter.

Supported Spine Versions

| Spine Version | Status | Notes | | :-----------: | :----------: | :------------------------: | | 3.7.x | Planned Support | Support is planned after 4.0.x is completed | | 3.8.x | Supported | Only tested with 3.8.95/3.8.99 versions | | 4.0.x | Planned Support | Planned for support in version 1.0 |

Features

  • No dependency on Spine editor software
  • Fully command-line interface
  • Batch export capability
  • Supports .skel/.json skeleton import
  • Can export animations to GIF/MOV/PNG sequences/single PNG frames
  • Texture unpacking feature

Installation

Recommend using Volta.

Install Volta, then:

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

Or install manually, install Node.js (version requirement ~18.19 or ~20.3), then:

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

Example


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'.

Files of the same asset (i.e., skeleton/texture/texture atlas) need to be placed in the same directory, as shown below:

Example
├─assets
|   ├─260_durnar # Asset 1
|   |     ├─build_char_260_durnar.atlas
|   |     ├─build_char_260_durnar.png
|   |     └build_char_260_durnar.skel
|   ├─258_podego # Asset 2
|   |     ├─build_char_258_podego.atlas
|   |     ├─build_char_258_podego.png
|   |     └build_char_258_podego.skel

The output-path option supports curly brace template strings, with the following keywords supported: | Keyword | Description | | :------------: | :---------------------: | | assetName | Asset name | | assetPath | Path of the asset | | fps | fps option | | scale | scale option | | animationName| Name of the extracted animation |

Example:

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

Texture Unpacking

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]

The unpacker command's output-dir option also supports the assetPath template string keyword.