Spine viewer for Windows based on Runtime for DxLib (2.1, 3.5 to 4.2).
- Multiple rendering
- Runtime manipulation
- Exclude slot
- Mix skins
- Mix animations
- Replace attachment
- Media export
- Transparent/borderless window style
Multiple rendering-1 (via selecting multiple files)
Multiple-rendering-1.mp4
Multiple rendering-2 (via opening a folder)
Multiple-rendering-2.mp4
Mix animations
Mix.animation.mp4
Exclude slot
Exclude.slot.mp4
Replace attachment
Replace.attachment.mp4
Media export
Media.export.mp4
Transparent window
Transparent.window.mp4
Add effect
Add.effect.mp4
Import Cocos-1 (Json containing both atlas and skeleton)
Import.Cocos-1.mp4
Import Cocos-2 (Json containing only atlas and requiring skeleton separately)
Import.Cocos-2.mp4
- First select atlas file(s) to load.
- Then select skel file(s) which is/are pair(s) of atlas.
- From
File->Extension setting, specify atlas and skeleton extensions. - From
File->Open folder, select a folder containing atlas/skel(s) with specified extensions.
Open folderis to load all the Spine files in a folder and render them synchronically.- Of cource it is appropriate to open a folder containing only one set of Spine, but it is not appropriate to open a folder containing more than two sets of Spine unless their animations have synchronised timelines.
- This is to load json:
- which contains atlas at
[5][0][2], and skeleton at[5][0][4]. - or that which contains atlas at
[5][0][2]and requires binary skeleton separately.
- which contains atlas at
| Input | Action |
|---|---|
| Wheel scroll | Scale up/down. Combinating with Ctrl to zoom in/out. |
| L-pressed + wheel scroll | Speed up/down the animation. |
| L-click | Switch the animation. |
| L-drag | Move view-point. |
| M-click | Reset scale, animation speed, and view-point to default. |
| R-pressed + wheel scroll | Switch the skin. |
| R-pressed + M-click | Hide/show the border of window. |
| R-pressed + L-click | Start moving borderless window. L-click again to end. |
| Input | Action |
|---|---|
| Esc | Close the application. |
| Up | Open the previpus folder. |
| Down | Open the next folder. |
| A | Enable/disable premultiplied alpha. Default: enabled. |
| B | Prefer/ignore blned-mode specified by slots. Default: preferred. |
| R | Toggle draw-order between filename asc/descending order. Default: ascending order. |
- Up and Down key are valid only when files are loaded via
Open folder. - Toggling
PMAis permitted only for Spine version3.8and older.- For Spine version
4.0and later, runtime applies pma property read from atlas file. - Disable
PMAif it seems too bright, and enable if darkish.
- For Spine version
- Force
normalblend mode ifmultiplyis not well represented.
| Menu item | Action |
|---|---|
| Snap as PNG | Save the current screen as PNG. |
| Snap as JPG | Save the current screen as JPG. |
| Export as GIF | Restart the current animation and export as GIF. |
| Export as H264 | Restart the current animation and export as MP4. |
| Export as PNGs | Restart the current animation and export as sequential PNGs. |
| Export as JPGs | Restart the current animation and export as sequential PNGs. |
- Context menu appears only when Spine is loaded.
- By unchecking
Export per anim.option fromTool->Export setting, when to start and end recording will be delegated to user.
Note on filename
- The files are saved in the subdirectory of the execution file.
- The folder is named after folder-name when loaded via
Open folder, and the first atlas filename when viaSelect files.
- The folder is named after folder-name when loaded via
PNGandJPGfile will be named likehome_4.475.pngwherehomeis animation name, and4.475is animation time.GIFfile will be named likewait.gifwherewaitis animation name.H264file will be named likefp.mp4wherefpis animation name.
Visual Studio is required.
- Open
shared-src/depsfolder with Visual Studio. - Wait for the CMake configuration to be done.
- The configuration downloads external libraries and modifies older Spine
extensions.- For spine-c
3.5, renames some of the functions which lackspprefix so as to be consistent with3.6and later. - For spine-c
2.1, supplies binary skeleton reader from here.
- For spine-c
- The configuration downloads external libraries and modifies older Spine
- Install Spine generic runtimes both for
x64-debugandx64-release. - Open
DxLibSpineViewer.slnand build.
- For minimal integration, only
dxlib_spine.cpp/hordxlib_spine_c.cppare suffice.- dxlib_spine.cpp is to be used with
spine-cpp. (3.8to4.2) - dxlib_spine_c.cpp is to be used with
spine-c. (3.5to4.2)- Class is used because DxLib is C++ library, but STL is avoided.
- There is a runtime for Spine
2.1under projects/DxLibSpineViewerC-2.1. But note that transformation method is totally different from later versions.
- dxlib_spine.cpp is to be used with
- For more functionalities, use all the files under
DxLibSpineCpporDxLibSpineC.- The functionalities are as follows:
| File | Functionality | Dependency |
|---|---|---|
| dxlib_spine.cpp/h | Load texture and render skeleton. | DxLib + Spine generic runtime |
| dxlib_spine_player.cpp/h | Adjust scale and translation using matrix. | DxLib; derived from CSpinePlayer |
| spine_loader.cpp/h | Load atlas or skeleton file. | C++14 STL + Spine generic runtime |
| spine_player.cpp/h | Manage Spine resources and manipulation. | C++14 STL + Spine generic runtime |
- In order to build these files in a project using DxLib, it is required to define macro depending on versions of Spine generic runtime to be used with.
| Version | Macro to be defined |
|---|---|
2.1 |
SPINE_2_1 |
3.5 |
- |
3.6 |
- |
3.7 |
- |
3.8 |
SPINE_3_8_OR_LATER provided that C runtime is to be used. |
4.0 |
SPINE_4_0 |
4.1 |
SPINE_4_1_OR_LATER |
4.2 |
SPINE_4_1_OR_LATER, SPINE_4_2_OR_LATER |