Cross-platform avatar conversion — FBX/GLB/OBJ import and export to VRChat, Roblox, Rec Room, and more
- TypeScript 97.3%
- JavaScript 1.4%
- CSS 1.3%
Initial implementation of cross-platform avatar conversion system supporting VRChat, Roblox, Rec Room, Spatial, and Sandbox. Features: - Universal avatar import (GLB, GLTF, FBX, OBJ, VRM) - Auto-rigging system with bone detection and mapping - Platform-specific exporters with optimization - Real-time 3D preview with Three.js - Batch export to multiple platforms - Validation against platform constraints - Next.js web interface with AeThex branding - Express backend API with job queue - Comprehensive documentation Architecture: - Monorepo with Turbo for efficient builds - Frontend: Next.js, React Three Fiber, TailwindCSS - Backend: Express, BullMQ, PostgreSQL, Redis - Core: TypeScript avatar processing library - Exporters: Platform-specific conversion modules Platform Support: - VRChat: Unity Humanoid FBX (70k polygons, 256 bones) - Roblox: R15/R6 rigs (10k polygons) - Rec Room: GLB with PBR (12k polygons) - Spatial: VRM 1.0 format (50k polygons) - Sandbox: GLB format (20k polygons) Documentation includes: - Quick start guide - API documentation - Architecture overview - Contributing guidelines |
||
|---|---|---|
| apps | ||
| docs | ||
| packages | ||
| .gitignore | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| turbo.json | ||
AeThex Avatar Importer/Exporter
Cross-platform avatar conversion system that allows you to use the same avatar across multiple metaverse platforms including VRChat, Roblox, Rec Room, Spatial, and Sandbox.
Features
- Universal Avatar Import - Upload avatars in common 3D formats (FBX, GLB, OBJ)
- Auto-Rigging - Automatically rig avatars for humanoid characters
- Multi-Platform Export - Export to platform-specific formats:
- VRChat (Unity Humanoid FBX)
- Roblox (R15/R6 rigs)
- Rec Room (Custom format)
- Spatial (VRM standard)
- Sandbox (GLB/Voxel)
- Live Preview - 3D preview with animation testing
- Optimization - Automatic polygon reduction and texture optimization
- Batch Processing - Convert multiple avatars simultaneously
Architecture
MerchCrafter/
├── apps/
│ ├── web/ # Frontend (Next.js)
│ └── api/ # Backend API (Express/FastAPI)
├── packages/
│ ├── avatar-core/ # Core avatar processing
│ ├── exporters/ # Platform-specific exporters
│ ├── ui/ # Shared UI components
│ └── utils/ # Shared utilities
└── docs/ # Documentation
Platform Support
| Platform | Import | Export | Auto-Rig | Status |
|---|---|---|---|---|
| VRChat | ✅ | ✅ | ✅ | In Progress |
| Roblox | ✅ | ✅ | ✅ | In Progress |
| Rec Room | ✅ | ✅ | ✅ | In Progress |
| Spatial | ✅ | ✅ | ✅ | In Progress |
| Sandbox | ✅ | ✅ | ✅ | In Progress |
Tech Stack
- Frontend: Next.js, React, Three.js, TailwindCSS
- Backend: Node.js/Python, Express/FastAPI
- 3D Processing: Three.js, Blender Python API, GLTF-Transform
- Storage: S3-compatible storage, PostgreSQL
- Queue: Redis/BullMQ
Getting Started
Prerequisites
- Node.js 18+
- Python 3.9+ (for Blender integration)
- Blender 3.6+ (for auto-rigging)
- Docker (optional)
Installation
# Clone the repository
git clone https://github.com/AeThex-Foundation/MerchCrafter.git
cd MerchCrafter
# Install dependencies
npm install
# Start development servers
npm run dev
Development
# Run frontend only
npm run dev --filter=web
# Run backend only
npm run dev --filter=api
# Run tests
npm run test
# Build for production
npm run build
Usage
1. Import Avatar
Upload your avatar in FBX, GLB, or OBJ format.
2. Configure Rigging
- Auto-detect bones
- Adjust bone mapping
- Preview animations
3. Export to Platforms
Select target platforms and export optimized avatars for each.
Platform-Specific Guidelines
VRChat
- Max 70k polygons
- Unity Humanoid rig required
- 4 materials per mesh limit
- Proper eye bones for eye tracking
Roblox
- R15 (15 parts) or R6 (6 parts) rig
- Max 10k triangles
- Block-based aesthetic recommended
Rec Room
- Max 12k triangles
- ~30 bones
- PBR materials
Spatial
- VRM 0.0 or 1.0 format
- Max 50k triangles
- GLB export
Sandbox
- Voxel or polygon support
- Max 20k triangles
- GLB format
Contributing
We welcome contributions! Please see CONTRIBUTING.md for details.
License
MIT License - see LICENSE for details.
Support
- Documentation: docs.aethex.io
- Discord: discord.gg/aethex
- Issues: GitHub Issues
Built with ❤️ by the AeThex Foundation