(Blender Extension) Blender-Spine IO (Exporter only)

Hey Krita artists,

I have been working on a way to get you more paid work by linking the painting software you love with the highly 2D Animation real-time industry standard software; SPINE by Esoteric.

First I started here, by working on a custom version of the .OCA interchange for Krita so you can grab that and your can export your Krita document out to blender using that system:

Now you as a Krita artist can use my technology to get that from Blender into Spine format without requiring a spine license, or opening a single unknown app. And I’ll be continuing to add functionality to the point where just having a copy of Krita and Blender and KNOWING those tools will be enough even when working back and fourth in a team using Spine for their projects.

I’m very proud to share the progress I’ve made on a project I’ve been developing for quite some time.

Video demonstration:

You may recognise the character in the video from here:


Blender-Spine-IO — Release v0.0.1 (Alpha)

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

This project provides a direct Blender → Spine pipeline, supporting meshes, bones, weights, FK animation, blend modes, correct internal edges, OCA/OCO texture routing, and more. Import features are planned for later versions.


DOWNLOAD:

blender_spine_io_v0.0.1_pre-release.zip

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 (stores last path)
  • Texture export toggle
  • Blend-Mode Manager

Features (Working as of v0.0.1)

:check_mark: Mesh Export

  • Tris/quads/ngons
  • Internal edges (Spine-compatible)
  • Correct hull detection
  • Works on weighted/unweighted meshes

:check_mark: Armature & Bones

  • Full hierarchy
  • Correct local transforms
  • Bone lengths
  • Auto-scale or constant-scale

:check_mark: Weights

  • Up to 4 influences
  • Fallback bones
  • Correct Spine-space export

:check_mark: Animation (FK)

  • Exports the active Action
  • Spine-compatible timelines

:check_mark: Materials → Spine Blend-Modes

  • Procedural BLEND-MODE node
  • Normal / Additive / Multiply / Screen

:check_mark: Tools / UI

  • One-click Quick Export
  • Blend-mode sync
  • Simple material browser

:check_mark: OCA/OCO Pathing

  • Is intelligent about *.OCA wrappers
  • Normalizes nested folders
  • Predictable texture mapping

:check_mark: Parenting Fix

Unparented weighted meshes auto-bind correctly.


Known Issues

  • Occasional UI slowdown (material scanning)
  • Root bone requires 90° workaround — full transform fix planned
  • FK-only animation (IK/constraints planned)
  • Unweighted meshes appear at origin

Roadmap

:fire: High Priority

  • Correct world→Spine transform
  • Controller bones
  • Drivers (e.g., alpha)
  • IK & constraints

:fire: Medium

  • Multi-Action export
  • Skins + slot colours
  • 2-colour tint
  • PSD/Krita layer-name → slot mapping

:fire: Low

  • Full Spine → Blender importer
  • Unified UI for multi-rig workflows

Source & Extension Review

Currently awaiting review on the Blender Extensions site:
https://extensions.blender.org/approval-queue/blender-spine-io/


Acknowledgements & Notes on Credit

I want to thank the Spine team for answering licensing questions and providing helpful pointers.

For transparency: the only external implementation I directly studied for weighted mesh handling — specifically internal edges and hull encoding — was maximsokal’s work. Everything else (rig-space transforms, animation export, materials, OCA/OCO routing, UI, utility architecture, etc.) is original work I’ve designed and written for this project - based on my interpretation of Esoteric’s .JSON documentation.

Since this topic came up on the forum early in my development, I wanted to share this release now so there is a clear public record of the features, solutions, and implementation I’ve built so far.

As this project is GPL-3.0, you are free to build upon it — all I ask is that derivative work provides appropriate credit, which is standard practice and important for creative and technical careers.


Collaboration

My aim is to build a reputation as someone who is indispensable at providing smart solutions.
But I’m open to where my work can build a part of a bigger solution.

I’m absolutely open to collaborating. Chat with me here about features, make a ticket in the issues section of the github page.

ISSUES

Thanks for taking the time to look, and I hope this exporter becomes a valuable tool for the community.

– Simon

2 Likes