Releases: SimonHeggie/Spine-IO
Spine-IO Now On Blender Extensions! (v0.0.3)
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:idset toblender_spine_ionameset to “Blender-Spine IO”- Version bumped to 0.0.2
- Minimum Blender version: 4.2.0
- Removed
platformsfield (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.pycompletely. - Removed all
sysmanipulation,exec, andeval. - 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!!!)
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)