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)
Mesh Export
- Tris/quads/ngons
- Internal edges (Spine-compatible)
- Correct hull detection
- Works on weighted/unweighted meshes
Armature & Bones
- Full hierarchy
- Correct local transforms
- Bone lengths
- Auto-scale or constant-scale
Weights
- Up to 4 influences
- Fallback bones
- Correct Spine-space export
Animation (FK)
- Exports the active Action
- Spine-compatible timelines
Materials → Spine Blend-Modes
- Procedural BLEND-MODE node
- Normal / Additive / Multiply / Screen
Tools / UI
- One-click Quick Export
- Blend-mode sync
- Simple material browser
OCA/OCO Pathing
- Is intelligent about *.OCA wrappers
- Normalizes nested folders
- Predictable texture mapping
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
High Priority
- Correct world→Spine transform
- Controller bones
- Drivers (e.g., alpha)
- IK & constraints
Medium
- Multi-Action export
- Skins + slot colours
- 2-colour tint
- PSD/Krita layer-name → slot mapping
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.
Thanks for taking the time to look, and I hope this exporter becomes a valuable tool for the community.
– Simon