| __pycache__ | ||
| advanced_stl_exporter.py | ||
| CLAUDE.md | ||
| create_ascii_stl.py | ||
| destiny2_stl_extractor.py | ||
| geometry_extractor.py | ||
| manifest_downloader.py | ||
| my_character.stl | ||
| my_character_fixed.stl | ||
| my_character_fixed_metadata.json | ||
| my_character_metadata.json | ||
| README.md | ||
| requirements.txt | ||
| setup_guide.md | ||
| stl_validator.py | ||
| test_character_ascii.stl | ||
Destiny 2 STL Character Extractor
Extract 3D character models from Destiny 2 using the Bungie API and convert them to STL format for 3D printing.
Features
- Extract character models directly from Bungie's servers (no game installation required)
- Support for all platforms (Xbox, PlayStation, Steam, Epic Games)
- Convert character geometry to STL format
- Include equipped armor and weapons in the model
Setup
-
Get a Bungie API Key
- Go to https://www.bungie.net/en/Application
- Create a new application
- Copy your API key
-
Install Dependencies
pip install -r requirements.txt
Usage
Basic usage:
python destiny2_stl_extractor.py --api-key YOUR_API_KEY --player "YourGamertag" --output my_character.stl
Options:
--api-key: Your Bungie API key (required)--player: Player display name/gamertag (required)--character: Character index 0-2 (default: 0)--output: Output STL filename (default: character.stl)--platform: Platform type (-1=all, 1=Xbox, 2=PSN, 3=Steam, 4=Epic, 5=Stadia)
Examples:
# Extract first character to custom filename
python destiny2_stl_extractor.py --api-key abc123 --player "Guardian123" --output titan.stl
# Extract second character (index 1) from Steam platform
python destiny2_stl_extractor.py --api-key abc123 --player "SteamUser" --character 1 --platform 3
# Search all platforms for player
python destiny2_stl_extractor.py --api-key abc123 --player "CrossPlatformPlayer" --platform -1
Current Implementation Status
This is a working proof-of-concept that:
- ✅ Connects to Bungie API
- ✅ Retrieves character and equipment data
- ✅ Exports basic STL format
- ⚠️ Uses simplified geometry (placeholder meshes)
For full-fidelity character models, the tool would need:
- Integration with actual Destiny 2 geometry files
- Advanced mesh processing for equipment combinations
- Texture and material handling
- Skeleton and rigging support
API Rate Limits
The Bungie API has rate limits:
- 25 requests per second per application
- Respect the API terms of service
- Cache manifest data locally when possible
Legal Notice
This tool is for personal, non-commercial use only. Destiny 2 character models and assets are owned by Bungie, Inc. Users are responsible for complying with Bungie's Terms of Service and applicable copyright laws.
Troubleshooting
"Player not found": Check spelling and try different platform values "API Key invalid": Verify your API key at bungie.net/en/Application "No characters found": Ensure the player has Destiny 2 characters Rate limit errors: Wait and retry, or implement request throttling