Skip to content

Releases: SimonHeggie/Spine-IO

Spine-IO Now On Blender Extensions! (v0.0.3)

28 Nov 09:11
0d54c6a

Choose a tag to compare

Spine-IO is now proudly available to download straight into Blender via the Blender extensions.

Now, to install, simply navigate to the Blender Extensions menu in the preferences and search for 'Spine' and download it.

Super easy.

There's just one thing to keep in mind which is that instead of the Spine-IO tab automatically updating to match the node group set up, just hit refresh when you've made an adjustment. This performance fix was necessary in order to make it available on the platform. Also 'Blender' has been dropped from the name, leaving us with just 'Spine-IO' because it was noted that it was against blender's branding requirements.

Change list in detail:

v0.0.3

Naming & Compliance

  • Changed add-on ID to spine_io.
  • Changed display name to “Spine-IO”.
  • (Note: The word “Blender” is not permitted in extension titles per Blender.org guidelines.)

v0.0.2

Blender Extensions Compliance Update

Second release containing all changes requested by the review team.

Manifest & Metadata

  • Updated blender_manifest.toml:
    • id set to blender_spine_io
    • name set to “Blender-Spine IO”
    • Version bumped to 0.0.2
    • Minimum Blender version: 4.2.0
  • Removed platforms field (implicit all-platform support).
  • Cleaned and shortened description.
  • Removed all “experimental”, “alpha”, and “pre-release” wording.

Permissions

  • Restricted access to files only.
  • Added justification: “Read textures and write Spine JSON”.

Background Processing

  • Removed automatic background timer for blend-mode syncing.
  • Added manual operator: blender_spine_io.refresh_blend_modes
  • Added a refresh button to the Spine-IO panel.

Code Cleanup

  • Removed SPINE_Output_launcher.py completely.
  • Removed all sys manipulation, exec, and eval.
  • Split blend-mode logic into its own module: BLENDER_Edit_BLEND_MODE.py.
  • Removed unused timer-registration paths.

Credit: Reviewer Nick Berckley for requesting and overseeing these adjustments.


v0.0.1

Current Working Features

Full Mesh Pipeline

  • Proper triangulation for tris, quads, and ngons
  • Internal-edge support
  • Spine-compatible edge encoding
  • Automatic hull detection
  • Supports weighted and unweighted meshes*

Bones & Armature

  • Correct parent hierarchy
  • Accurate bone lengths
  • Local rig-space transforms
  • Auto-scaled or constant-scale export

Weights

  • Up to 4 influences per vertex
  • Automatic fallback bones
  • Correct Spine-space bone coordinates

Animations

  • FK support (initial)
  • Exports one Blender Action
  • Spine-compatible timelines

Materials → Spine Blend Modes

  • Auto-generated procedural BLEND-MODE node
  • Blend-mode selector in Spine-IO panel
  • Supported: Normal, Add (Screen), Luminosity, Multiply
  • Writes: "blend": "normal|additive|multiply|screen"

UI Tools

  • Quick Export with path memory
  • Safe file-path resolver
  • Real-time blend-mode sync via background timer
  • Material browser

OCA/OCO-Compatible Image Pathing

  • Automatically strips <filename>.OCA/ folder
  • Normalizes subdirectories
  • Preserves nested structure
  • Predictable Blender → Spine texture mapping

Automatic Parenting Fix

  • Weighted meshes attach to bones even when unparented in Blender.

Blender-Spine IO (THE FIRST RELEASE!!!)

19 Nov 06:10
c341d5e

Choose a tag to compare

Pre-release

Release v0.0.1 of Blender-Spine-IO

Open-source Spine 4.3 JSON Exporter for Blender (OCA/OCO-friendly)
Author: Simon Heggie • Status: Alpha • Blender: 4.2+ • Spine: 4.3.39-beta • License: GPL-3.0

Overview

Blender-Spine-IO is an experimental open-source exporter that converts Blender rigs, meshes, UVs, materials, and animations into valid Spine 4.3 JSON.
It supports complex deformation meshes, OCA/OCO pipelines, and automatic Spine blend-modes.
Importer functionality will be added in future versions.

Installation

Extensions (recommended):
Blender → Edit → Preferences → Extensions → Install ZIP → Enable Blender-Spine-IO

Legacy Add-on:
Preferences → Add-ons → Install… → Enable Spine-IO

Where It Appears

File → Export → Spine (.json) — full export dialog

3D Viewport → Sidebar → Spine-IO tab

Quick Export (remembers last path)

Texture Export toggle

Blend-Mode Manager (Normal, Add/Screen, Multiply, Luminosity)

Features (Working in v0.1 Alpha)

✔ Mesh Export

Supports tris, quads, ngons (auto-triangulated)

Internal edges supported (Spine-compatible encoding)

Correct hull detection

Works on weighted and unweighted meshes

✔ Armature & Bones

Full hierarchy export

Proper bone lengths

Accurate local rig-space transforms

Optional auto-scale or constant scale

✔ Weights

Up to 4 influences per vertex

Auto fallback bones

Correct Spine-space coordinates

✔ Animation (FK)

Exports the active Action

Creates Spine-compatible timelines

✔ Materials → Spine Blend Modes

Auto-generated procedural BLEND-MODE node with export of:
normal, additive, multiply, screen

✔ Tools / UI

One-click Quick Export

Blend-mode syncing via background timer

Simple material browser inside Spine-IO tab

✔ OCA/OCO Image Pathing

Removes .OCA/ wrappers

Normalizes nested subfolders

Predictable, stable Blender → Spine texture mapping

✔ Parenting Fix

Unparented weighted meshes automatically bind to correct bones.

Current Issues

⚠ Occasional UI slowdown

Blend-mode sync timer scans materials too often. Needs throttle/caching.

⚠ Root-Bone 90° Rig Hack

Exporter still needs a world-space rotation patch.
Users must keep a zeroed, world-centre root bone.
A correct world→Spine transform is planned.

⚠ FK-only animation

IK/constraints coming later.

⚠ Unweighted meshes

Currently appear at origin unless weighted.

Roadmap

🔥 High Priority

Proper world→Spine transform (remove 90° hack)

Non-deforming controller bones

Drivers (e.g., bone-driven alpha)

IK & constraints support

🔥 Medium Priority

Multi-Action → multi-animation export

Skins + slot colour/dark-colour

2-colour tint

PSD/Krita layer-name → slot auto-mapping

🔥 Low Priority

Full Spine → Blender importer

Multi-rig UI merging

Export presets (Godot / Armory / Unity)