A comprehensive Blender addon that converts 3D mesh objects into Spine2D-compatible JSON skeletal animation data. This tool bridges the gap between 3D modeling workflows and 2D skeletal animation pipelines, enabling artists to leverage Blender's powerful modeling capabilities for Spine2D projects.
- Intelligent Mesh Segmentation: Automatically cuts complex meshes into animation-friendly segments using UV islands and angle detection
- Advanced Texture Baking: Bakes complex material setups into optimized textures for 2D workflows
- Multi-Object Export: Process multiple objects simultaneously with automatic rig merging and constraint management
- UV Layout Optimization: Creates clean, efficient UV layouts with consistent texel density across segments
- Spine2D Integration: Generates production-ready JSON files compatible with Esoteric Software's Spine animation system
For detailed installation instructions, see Installation Guide.
The addon panel provides intuitive controls for export configuration, mesh segmentation settings, and texture baking parameters.
All interface functionality and workflow details are documented in Usage Guide.
Blender_to_Spine2D_Mesh_Exporter/
├── Blender_to_Spine2D_Mesh_Exporter/ # Main addon source code
│ ├── __init__.py # Addon registration and lifecycle management
│ ├── main.py # Core export pipeline orchestration
│ ├── ui.py # User interface panels and operators
│ ├── config.py # Configuration management and properties
│ ├── plane_cut.py # Mesh segmentation and cutting algorithms
│ ├── uv_operations.py # UV unwrapping and layout optimization
│ ├── texture_baker.py # Material baking system
│ ├── json_export.py # Spine2D JSON format generation
│ ├── json_merger.py # Multi-object data merging
│ └── multi_object_export.py # Batch processing workflows
├── tests/ # Comprehensive test suite
│ ├── test_main.py # Core pipeline testing
│ ├── test_json_export.py # JSON generation validation
│ └── test_ui.py # Interface functionality tests
├── docs/ # User and developer documentation
│ ├── installation.md # Setup and installation guide
│ ├── usage.md # Detailed usage instructions
│ └── architecture.md # Technical architecture overview
├── tools/ # Development and build utilities
│ └── prepare_package.py # Addon packaging and distribution
├── examples/ # Sample projects and demonstrations
├── assets/ # UI screenshots and promotional materials
└── .github/ # Issue templates and workflows
├── bug_report.md # Bug reporting guidelines
└── feature_request.md # Feature suggestion template
Folders | Description |
---|---|
Blender_to_Spine2D_Mesh_Exporter | Contains all addon functionality with modular architecture |
tests | Automated testing suite ensuring code reliability and performance |
docs | Comprehensive documentation for users and contributors |
tools | Development utilities for packaging and deployment |
examples | Reference projects demonstrating addon capabilities |
assets | Visual resources and interface documentation |
The addon implements a sophisticated multi-stage pipeline that transforms 3D mesh data into Spine2D-compatible assets:
- Object Validation: Verify mesh integrity and applied transformations
- Scale Application: Ensure consistent object scaling across the pipeline
- Material Analysis: Catalog and prepare materials for baking workflow
- Boundary Detection: Identify natural mesh boundaries using angle thresholds
- UV Island Analysis: Leverage existing UV layouts for intelligent segmentation
- Smart Cutting: Execute hybrid cutting algorithm combining automated and manual approaches
- Seam Application: Apply calculated boundaries as UV seams for unwrapping
- Unwrap Execution: Generate clean UV layouts respecting segment boundaries
- Texel Density Normalization: Ensure consistent pixel density across all segments
- Island Optimization: Optimize UV island placement for efficient texture usage
- Layout Validation: Verify UV coordinates and detect potential issues
- Baking Setup: Configure dedicated texturing objects with optimized UVs
- Material Processing: Bake complex material setups to diffuse textures
- Quality Control: Validate baked results and handle edge cases
- UV Transfer: Apply baked UVs back to segmented mesh components
- Segment Processing: Export individual mesh segments to intermediate JSON files
- Bone Structure Creation: Generate Spine2D-compatible bone hierarchies
- Data Merging: Combine all segments into unified skeletal structure
- Final Output: Write production-ready JSON with embedded animations
For detailed technical architecture documentation, see Architecture Overview.
- Material Baking Artifacts: Complex material setups may produce rendering inconsistencies
- Topology Sensitivity: Mesh cutting algorithms may fail on highly complex or non-manifold geometry
- Performance Constraints: Large meshes (>1k vertices) and textures (>1024 px) may experience extended processing times
- Feature Completeness: Several advanced features are partially implemented
- Image-based materials: Materials containing TEX_IMAGE nodes
- Procedural materials: Materials using procedural texture nodes
- Color materials: Simple materials with solid colors
if has_image_texture_node:
bake_mode = "DIFFUSE" # Standard diffuse baking
else:
bake_mode = "COMBINED" # Full material baking
Issue: Materials using multiple textures combined through mix nodes are not fully supported.
- System detects the first TEX_IMAGE node and switches to DIFFUSE bake mode
- Only the base diffuse component is baked, ignoring texture mixing operations
Base Texture → MixRGB → Principled BSDF
↑ ↑
Detail Texture Mask Texture
- Workaround: Consider pre-compositing textures in external software or simplifying material setup to single texture per bake.
Issue: Materials combining image textures with procedural modifications are incompletely baked.
- Classified as "image-based" due to presence of TEX_IMAGE nodes
- Procedural modifications (noise, color ramps, coordinate transformations) are ignored
- Only base texture diffuse values are captured
Image Texture → ColorRamp → Principled BSDF
↓
Noise Texture (affecting coordinates or color)
- Noise Texture, Voronoi Texture, Wave Texture
- ColorRamp, Bright/Contrast, Hue/Saturation
- Mapping, Texture Coordinate modifications
Issue: Materials not using Principled BSDF shader may not be processed correctly.
- Baking setup logic assumes presence of Principled BSDF node
- Alternative shader setups may result in failed baking operations
- Custom shader combinations (e.g., Diffuse BSDF + Glossy BSDF via Mix Shader)
- Emission-only materials without Principled BSDF
- Custom shader group nodes
- Artistic stylized shaders
Error Indicators:
WARNING: No Principled BSDF found in [material_name]
Issue: Materials utilizing vertex colors or custom attributes are not detected or baked.
- Attribute nodes are not recognized in material analysis
- Vertex color data is ignored during baking process
- Painted details are lost in final baked texture
Unsupported Node Types:
- Attribute nodes (vertex colors, custom attributes)
- Vertex Color nodes
- Geometry-based attribute access Impact: Hand-painted details, ambient occlusion stored in vertex colors, or custom attribute-driven effects will not appear in baked textures.
Issue: Current implementation only supports DIFFUSE and COMBINED bake modes.
- NORMAL - Normal map generation
- ROUGHNESS - Roughness map extraction
- METALLIC - Metallic map isolation
- EMISSION - Emission-only baking
- SUBSURFACE_COLOR - Subsurface scattering maps
- TRANSMISSION - Transmission maps
- Blender Version: Requires Blender 4.4.0 or newer
- Spine Version: Optimized for Spine 4.2.43 specifically
- Platform Support: This project has been tested only on Windows. Functionality on macOS and Linux is not guaranteed.
Users should expect occasional workflow interruptions and should maintain project backups. While the core export pipeline is functional, edge cases and complex geometry may require manual intervention.
Comprehensive example projects showcasing various use cases and workflows are available in the examples/ directory. These include:
- Basic character export workflows
- Multi-object scene processing
- Advanced material baking scenarios
We welcome contributions from the community! Whether you're reporting bugs, suggesting features, or submitting code improvements, your input helps make this addon better.
- Review our Contributing Guidelines
- Check existing issues before creating new reports
- Follow our coding standards and testing requirements
- Bug Reports: Use our structured template at .github/bug_report.md
- Feature Requests: Submit suggestions using .github/feature_request.md
- Fork the repository and create feature branches
- Include comprehensive tests for new functionality
- Follow existing code organization and documentation standards
- Submit pull requests with detailed descriptions
Track addon development progress and version changes in our Changelog.
Author: Maxim Sokolenko
Version: 0.23.0
Category: 3D View
License: This addon is released under the GNU GPL v3.0 or later, in accordance with Blender’s addon licensing requirements. According to Blender’s documentation:
“For add-ons, the required license is GNU General Public License v3.0 or later.”
(Blender Documentation)
This addon integrates with Spine’s JSON export pipeline. Please note:
- Spine Editor is proprietary; users must hold a valid Spine Editor license.
- The Spine Runtimes License must be included when redistributing this addon.
This addon integrates with Esoteric Software's Spine animation system. Spine is a trademark of Esoteric Software LLC.