{"id":30067444,"url":"https://github.com/vuer-ai/fbx2glb","last_synced_at":"2026-04-15T22:31:28.588Z","repository":{"id":307609266,"uuid":"1030132092","full_name":"vuer-ai/fbx2glb","owner":"vuer-ai","description":"Convert FBX 3D models to GLB format for web applications. Available on PyPI: pip install fbx2glb","archived":false,"fork":false,"pushed_at":"2025-08-01T06:49:42.000Z","size":190161,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-01T07:31:44.610Z","etag":null,"topics":["3d","3d-models","converter","fbx","glb","gltf","python","react","threejs","webgl"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/fbx2glb/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vuer-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-01T06:20:23.000Z","updated_at":"2025-08-01T06:50:13.000Z","dependencies_parsed_at":"2025-08-01T07:41:52.370Z","dependency_job_id":null,"html_url":"https://github.com/vuer-ai/fbx2glb","commit_stats":null,"previous_names":["vuer-ai/fbx2glb"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/vuer-ai/fbx2glb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuer-ai%2Ffbx2glb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuer-ai%2Ffbx2glb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuer-ai%2Ffbx2glb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuer-ai%2Ffbx2glb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vuer-ai","download_url":"https://codeload.github.com/vuer-ai/fbx2glb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuer-ai%2Ffbx2glb/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269394283,"owners_count":24409772,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-08T02:00:09.200Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d","3d-models","converter","fbx","glb","gltf","python","react","threejs","webgl"],"created_at":"2025-08-08T09:01:01.266Z","updated_at":"2026-04-15T22:31:23.548Z","avatar_url":"https://github.com/vuer-ai.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FBX2GLB\n\nA versatile toolkit for converting FBX 3D models to GLB format for web applications.\n\n[![PyPI version](https://badge.fury.io/py/fbx2glb.svg)](https://badge.fury.io/py/fbx2glb)\n[![PyPI downloads](https://img.shields.io/pypi/dm/fbx2glb.svg)](https://pypi.org/project/fbx2glb/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n**📦 [Install from PyPI](https://pypi.org/project/fbx2glb/) | 🐛 [Report Issues](https://github.com/vuer-ai/fbx2glb/issues) | 📖 [Documentation](https://github.com/vuer-ai/fbx2glb#readme)**\n\n## Features\n\n- **Multiple Conversion Methods:**\n  - Autodesk FBX SDK (if available)\n  - Facebook's fbx2gltf command line tool\n  - Blender (if installed)\n- **Batch Processing:** Convert multiple files at once with parallel processing\n- **Component Generation:** Generate React/Three.js components from 3D models\n- **FBX Upgrading:** Upgrade older FBX files to newer versions for better compatibility\n- **Preserve Quality:** Maintain animations, materials, textures, and skeletal data\n- **Cross-Platform:** Support for macOS, Windows, and Linux\n\n## Quick Start\n\n### Installation\n\n#### From PyPI (Recommended)\n\n```bash\n# Install the latest version from PyPI\npip install fbx2glb\n\n# Or install with specific version\npip install fbx2glb==0.1.0\n```\n\n#### From Source (Development)\n\n```bash\n# Clone the repository\ngit clone https://github.com/vuer-ai/fbx2glb.git\ncd fbx2glb\n\n# Install in development mode\npip install -e '.[dev]'\n```\n\n### Basic Usage\n\n```bash\n# Convert a single FBX file to GLB\nfbx2glb input.fbx output.glb\n\n# Convert with axis fixing and FBX upgrading\nfbx2glb input.fbx output.glb --fix-axis --upgrade-fbx\n\n# Check available conversion methods\nfbx2glb --check-dependencies\n\n# Generate a React/Three.js component\nfbx2glb-component input.fbx src/components/MyModel.tsx\n\n# Batch convert multiple files\nfbx2glb-batch source_directory output_directory --recursive\n```\n\n## Installation\n\n### From PyPI (Recommended)\n\n```bash\n# Install the latest version\npip install fbx2glb\n\n# Install with specific version\npip install fbx2glb==0.1.0\n\n# Install with development dependencies\npip install fbx2glb[dev]\n```\n\n### From Source (Development)\n\n```bash\ngit clone https://github.com/vuer-ai/fbx2glb.git\ncd fbx2glb\npip install -e '.[dev]'\n```\n\n### Package Information\n\n- **PyPI**: https://pypi.org/project/fbx2glb/\n- **Source**: https://github.com/vuer-ai/fbx2glb\n- **Documentation**: https://github.com/vuer-ai/fbx2glb#readme\n- **Issues**: https://github.com/vuer-ai/fbx2glb/issues\n\n## FBX SDK Installation (Recommended)\n\nFor the best results and FBX file upgrading capabilities, install the Autodesk FBX SDK:\n\n### macOS\n\n```bash\n# Using the included Makefile\nmake install-fbx-sdk\n```\n\n### Manual Installation\n\n1. Download the [FBX SDK](https://www.autodesk.com/developer-network/platform-technologies/fbx-sdk-2020-3) from Autodesk\n2. Install the SDK for your platform\n3. The package will automatically detect the SDK installation\n\n## Project Structure\n\n```\nfbx2glb/\n├── fbx2glb/              # Main Python package\n│   ├── __init__.py       # Package initialization\n│   ├── cli.py           # Command-line interface\n│   ├── converter.py     # Core conversion logic\n│   ├── batch.py         # Batch processing\n│   ├── component.py     # React component generation\n│   ├── utils.py         # Utility functions\n│   ├── params.py        # Parameter structures\n│   └── fbx_upgrader.py  # FBX file upgrading\n├── tools/               # Build tools and utilities\n│   ├── upgrade_fbx.cpp  # C++ source for FBX upgrade tool\n│   ├── upgrade_fbx      # Compiled binary\n│   └── README.md        # Tools documentation\n├── examples/            # Example files and models\n├── tests/              # Test suite\n├── local/              # SDK installers (macOS)\n├── sdk/                # SDK packages\n├── Makefile            # Unified build system\n└── FBX2glTF/           # Facebook's FBX2glTF (git submodule)\n```\n\n## Usage\n\n### Command Line Interface\n\n```bash\n# Convert a single file\nfbx2glb input.fbx [output.glb] [options]\n\n# Batch conversion\nfbx2glb-batch source_directory [output_directory] [options]\n\n# Generate React/Three.js component\nfbx2glb-component input.fbx [output_component.tsx] [options]\n```\n\n### Common Options\n\n```bash\n# Specify conversion method\n--method fbx-sdk|fbx2gltf|blender\n\n# Force overwrite existing files\n--force\n\n# Enable verbose output\n--verbose\n\n# Upgrade FBX file before conversion\n--upgrade-fbx\n\n# Check dependencies\n--check-dependencies\n```\n\n### Python API\n\n```python\nfrom fbx2glb import convert_file, batch_convert, generate_component\n\n# Convert a single file\nsuccess = convert_file(\"input.fbx\", \"output.glb\", method=\"fbx-sdk\")\n\n# Batch convert with parallel processing\nsuccesses, failures = batch_convert(\n    \"source_dir\", \n    \"output_dir\", \n    recursive=True, \n    parallel=4\n)\n\n# Generate React component\nsuccess = generate_component(\n    \"input.fbx\", \n    \"MyModel.tsx\", \n    component_name=\"MyModel\"\n)\n```\n\n### Using the Makefile\n\nThe project includes a comprehensive Makefile for common tasks:\n\n```bash\n# Show all available commands\nmake help\n\n# Install FBX SDK (macOS)\nmake install-fbx-sdk\n\n# Build the FBX upgrade tool\nmake build-upgrade-tool\n\n# Convert XBot example with FBX upgrading\nmake upgrade-xbot\n\n# Convert XBot example (basic)\nmake convert-xbot\n\n# Troubleshoot conversion issues\nmake troubleshoot\n\n# Clean build artifacts\nmake clean\n\n# Build Python package\nmake build-package\n```\n\n## Configuration\n\nCreate a `.fbx2glb.json` file in your project root to customize conversion behavior:\n\n```json\n{\n  \"defaultMethod\": \"fbx-sdk\",\n  \"fallbackMethods\": [\"fbx2gltf\", \"blender\"],\n  \"blenderPath\": \"/Applications/Blender.app/Contents/MacOS/Blender\",\n  \"outputFormat\": \"glb\",\n  \"preserveAnimations\": true,\n  \"optimizeMeshes\": true\n}\n```\n\n## Conversion Methods\n\n### 1. Autodesk FBX SDK (Recommended)\n- **Pros:** Best quality, supports FBX upgrading, handles all FBX versions\n- **Cons:** Requires SDK installation, larger file sizes\n- **Use when:** You need the highest quality conversion or have old FBX files\n\n### 2. Facebook's fbx2gltf\n- **Pros:** Fast, good compression, open source\n- **Cons:** Limited FBX version support\n- **Use when:** You need fast conversion of modern FBX files\n\n### 3. Blender\n- **Pros:** Free, handles many formats, good for complex scenes\n- **Cons:** Slower, requires Blender installation\n- **Use when:** You need to process many different 3D formats\n\n## Examples\n\n### Basic Conversion\n\n```bash\n# Convert a single file\nfbx2glb model.fbx model.glb\n\n# Convert with specific method\nfbx2glb model.fbx model.glb --method fbx2gltf\n\n# Convert with FBX upgrading\nfbx2glb old_model.fbx new_model.glb --upgrade-fbx\n\n# Convert with axis fixing (fix orientation issues)\nfbx2glb model.fbx model.glb --fix-axis\n```\n\n### Batch Processing\n\n```bash\n# Convert all FBX files in a directory\nfbx2glb-batch models/ output/ --recursive\n\n# Convert with parallel processing\nfbx2glb-batch models/ output/ --parallel 4 --force\n```\n\n### Component Generation\n\n```bash\n# Generate a React component\nfbx2glb-component character.fbx CharacterModel.tsx\n\n# Generate with custom name\nfbx2glb-component character.fbx CharacterModel.tsx --name CharacterModel\n```\n\n## Troubleshooting\n\n### Common Issues\n\n1. **FBX version too old:**\n   ```bash\n   # Use FBX upgrading\n   fbx2glb old_model.fbx new_model.glb --upgrade-fbx\n   ```\n\n2. **No conversion methods available:**\n   ```bash\n   # Check what's available\n   fbx2glb --check-dependencies\n   \n   # Install FBX SDK\n   make install-fbx-sdk\n   ```\n\n3. **Blender not found:**\n   ```bash\n   # Specify Blender path\n   fbx2glb model.fbx model.glb --blender-path /path/to/blender\n   ```\n\n### Getting Help\n\n```bash\n# Run the troubleshooting command\nmake troubleshoot\n\n# Check system information\nfbx2glb --check-dependencies\n\n# Show help\nfbx2glb --help\n```\n\n## Development\n\n### Running Tests\n\n```bash\n# Run all tests\npytest\n\n# Run specific test file\npytest tests/test_utils.py\n\n# Run with coverage\npytest --cov=fbx2glb\n```\n\n### Building the Package\n\n```bash\n# Build distribution\nmake build-package\n\n# Publish to PyPI (requires credentials)\nmake publish-package\n```\n\n## PyPI Package\n\nThis project is available as a Python package on PyPI:\n\n### 📦 [fbx2glb on PyPI](https://pypi.org/project/fbx2glb/)\n\n```bash\n# Install the latest version\npip install fbx2glb\n\n# Install specific version\npip install fbx2glb==0.1.0\n\n# Install with development dependencies\npip install fbx2glb[dev]\n```\n\n### Package Features\n\n- ✅ **Ready to use**: Install and run immediately\n- ✅ **Command line tools**: `fbx2glb`, `fbx2glb-batch`, `fbx2glb-component`\n- ✅ **Multiple conversion methods**: FBX SDK, fbx2gltf, Blender\n- ✅ **FBX upgrading**: Upgrade old FBX files automatically\n- ✅ **Axis fixing**: Fix orientation issues in converted models\n- ✅ **Batch processing**: Convert multiple files efficiently\n- ✅ **Component generation**: Generate React/Three.js components\n\n### Quick Start with PyPI\n\n```bash\n# Install\npip install fbx2glb\n\n# Convert your first model\nfbx2glb model.fbx model.glb --fix-axis\n\n# Check what's available\nfbx2glb --check-dependencies\n```\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nContributions are welcome! Please check the [contributing guidelines](CONTRIBUTING.md) for more information.\n\n### Development Setup\n\n1. Fork the repository\n2. Create a feature branch\n3. Install in development mode: `pip install -e '.[dev]'`\n4. Make your changes\n5. Add tests for new functionality\n6. Run the test suite: `pytest`\n7. Submit a pull request\n\n## Acknowledgments\n\n- [Facebook's FBX2glTF](https://github.com/facebookincubator/FBX2glTF) for the reference implementation\n- [Autodesk FBX SDK](https://www.autodesk.com/developer-network/platform-technologies/fbx-sdk-2020-3) for the official FBX processing library\n- [Blender](https://www.blender.org/) for the open-source 3D software integration\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvuer-ai%2Ffbx2glb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvuer-ai%2Ffbx2glb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvuer-ai%2Ffbx2glb/lists"}