{"id":51023323,"url":"https://github.com/thetestgame/bbmodel2bam","last_synced_at":"2026-06-21T17:32:05.502Z","repository":{"id":351180925,"uuid":"1209904839","full_name":"thetestgame/bbmodel2bam","owner":"thetestgame","description":"About A CLI tool to convert Blockbench bbmodel files to Panda3D BAM files","archived":false,"fork":false,"pushed_at":"2026-04-13T22:48:56.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-14T00:34:05.539Z","etag":null,"topics":["bbmodel","blockbench","panda3d","python"],"latest_commit_sha":null,"homepage":"","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/thetestgame.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-13T22:41:17.000Z","updated_at":"2026-04-13T22:50:36.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/thetestgame/bbmodel2bam","commit_stats":null,"previous_names":["thetestgame/bbmodel2bam"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/thetestgame/bbmodel2bam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thetestgame%2Fbbmodel2bam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thetestgame%2Fbbmodel2bam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thetestgame%2Fbbmodel2bam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thetestgame%2Fbbmodel2bam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thetestgame","download_url":"https://codeload.github.com/thetestgame/bbmodel2bam/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thetestgame%2Fbbmodel2bam/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34620358,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"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":["bbmodel","blockbench","panda3d","python"],"created_at":"2026-06-21T17:32:05.192Z","updated_at":"2026-06-21T17:32:05.489Z","avatar_url":"https://github.com/thetestgame.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bbmodel2bam\n\nConvert Blockbench `.bbmodel` files to Panda3D `.bam` files.\n\nInspired by [blend2bam](https://github.com/Moguri/blend2bam).\n\n## Features\n\n- **Mesh elements** – free-form meshes with per-vertex UVs\n- **Cube elements** – box primitives with per-face UV rects\n- **Embedded textures** – base64-encoded textures decoded and embedded in BAM\n- **File-referenced textures** – external texture paths resolved relative to `.bbmodel`\n- **Groups / bones** – outliner hierarchy preserved as scene-graph nodes\n- **Element transforms** – origin and rotation applied correctly\n- **Coordinate conversion** – Blockbench Y-up → Panda3D Z-up\n- **Panda3D file loader** – `loader.load_model('model.bbmodel')` works natively\n\n## Installation\n\n```\npip install panda3d-bbmodel2bam\n```\n\nOr install in development mode:\n\n```\npip install -e .\n```\n\n## Usage\n\n### CLI\n\n```\nbbmodel2bam model.bbmodel model.bam\nbbmodel2bam models/ output/\nbbmodel2bam --scale 0.0625 --textures ref model.bbmodel model.bam\n```\n\nOptions:\n\n| Flag | Default | Description |\n|------|---------|-------------|\n| `--scale FLOAT` | `1.0` | Uniform scale factor for coordinates |\n| `--textures {embed,ref}` | `embed` | Embed textures in BAM or save as separate files |\n| `--append-ext` | off | Append `.bam` instead of replacing extension (batch) |\n| `-v, --verbose` | off | Print extra conversion info |\n\n### Python\n\n```python\nfrom bbmodel2bam.converter import convert\nconvert('model.bbmodel', 'model.bam', scale=1.0)\n```\n\n### Panda3D File Loader\n\nWith the package installed, Panda3D 1.10.4+ can load `.bbmodel` files directly:\n\n```python\nmodel = loader.load_model('model.bbmodel')\nmodel.reparent_to(render)\n```\n\n## Supported bbmodel features\n\n| Feature | Status |\n|---------|--------|\n| Cube elements | ✅ |\n| Mesh elements (free-form) | ✅ |\n| Per-face UV (non-box UV) | ✅ |\n| Box UV | ❌ planned |\n| Embedded textures (base64) | ✅ |\n| External texture files | ✅ |\n| Element rotation/origin | ✅ |\n| Groups / outliner hierarchy | ✅ |\n| Animations | ❌ planned |\n| Locators | ❌ planned |\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthetestgame%2Fbbmodel2bam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthetestgame%2Fbbmodel2bam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthetestgame%2Fbbmodel2bam/lists"}