Name | panda3d-blend2bam JSON |
Version |
0.25.0
JSON |
| download |
home_page | |
Summary | A tool to convert Blender blend files to Panda3D BAM files |
upload_time | 2023-12-16 20:19:39 |
maintainer | |
docs_url | None |
author | Mitchell Stokes |
requires_python | >=3.8 |
license | MIT |
keywords |
panda3d
gamedev
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
![Pipeline](https://github.com/Moguri/blend2bam/workflows/Pipeline/badge.svg)
[![License](https://img.shields.io/github/license/Moguri/panda3d-blend2bam.svg)](https://choosealicense.com/licenses/mit/)
# blend2bam
`blend2bam` is a CLI tool to convert Blender 2.80+ blend files to Panda3D BAM files.
It also supplies a Python file loader to add "native" blend file support to Panda3D.
## Features
The following are supported:
* Static Meshes
* Materials<sup>1</sup>
* Textures
* Lights
* Skinned Meshes
* Shape Keys
* Skeletal Mesh Animations
* Shape Key Animations <sup>2</sup>
* Separate Animation Files
* Collision Shapes <sup>3</sup>
* Tags from Custom Properties
* Convert Particle Systems to Meshes
<sup>1</sup> The focus is on PBR materials with limited support for "legacy" materials.
For legacy materials, only diffuse color (pulled from base color) and normal maps are supported.
<sup>2</sup> Shape key animations require Panda3D 1.10.6+
<sup>3</sup> Collision shapes are generated from Blender's rigid body properties and shapes can be built for either Bullet or Panda3D's builtin collision system
Some notable missing features are:
* Object Animations
* Multiple Diffuse/Base Color Textures
The [conversion guide](docs/conversion-guide-gltf28.md) provides information on how Blender data gets converted to Panda3D data and any gotchas.
## Installation
Use [pip](https://github.com/panda3d/panda3d) to install the panda3d-blend2bam package:
```bash
pip install panda3d-blend2bam
```
Blender 2.80+ is required for `blend2bam` (ideally available on the system PATH).
If it is not, the directory containing `blender` can be specified with `--blender-dir` (see CLI usage).
## Usage
### CLI
```
usage: blend2bam [-h] [--version] [-v] [-m {legacy,pbr}] [--physics-engine {builtin,bullet}] [--srcdir SRCDIR] [--blender-dir BLENDER_DIR] [--blender-bin BLENDER_BIN]
[--append-ext] [--no-srgb] [--textures {ref,copy,embed}] [--animations {embed,separate,skip}] [--invisible-collisions-collection INVISIBLE_COLLISIONS_COLLECTION]
[--allow-double-sided-materials] src [src ...] dst
CLI tool to convert Blender blend files to Panda3D BAM files
positional arguments:
src source path
dst destination path
options:
-h, --help show this help message and exit
--version show program's version number and exit
-v, --verbose print out extra information (default: False)
-m {legacy,pbr}, --material-mode {legacy,pbr}
control how materials are exported (default: pbr)
--physics-engine {builtin,bullet}
the physics engine to build collision solids for (default: builtin)
--srcdir SRCDIR a common source directory to use when specifying multiple source files (default: None)
--blender-dir BLENDER_DIR
directory that contains the blender binary (default: )
--blender-bin BLENDER_BIN
name of the blender binary to use (default: blender)
--append-ext append extension on the destination instead of replacing it (batch mode only) (default: False)
--no-srgb do not load textures as sRGB textures (default: False)
--textures {ref,copy,embed}
how to handle external textures (default: ref)
--animations {embed,separate,skip}
how to handle animation data (default: embed)
--invisible-collisions-collection INVISIBLE_COLLISIONS_COLLECTION
name of a collection in blender whose collision objects will be exported without a visible geom node (default: InvisibleCollisions)
--allow-double-sided-materials
allow exporting double-sided materials (otherwise force all materials to be single-sided) (default: False)
```
### Python File Loader
`blend2bam` also supports Panda3D's Python file loader API (requires Panda3D 1.10.4+) to seamlessly adds blend file support to Panda3D's `Loader` classes.
This *does not* add support to `pview`, which is a C++ application that does not support Python file loaders.
## Running Tests
First install `blend2bam` in editable mode along with `test` extras:
```bash
pip install -e .[test]
```
Then run the test suite with `pytest`:
```bash
python -m pytest
```
## Building Wheels
Install `build`:
```bash
pip install --upgrade build
```
and run:
```bash
python -m build
```
## License
[MIT](https://choosealicense.com/licenses/mit/)
Raw data
{
"_id": null,
"home_page": "",
"name": "panda3d-blend2bam",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "panda3d,gamedev",
"author": "Mitchell Stokes",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/a3/a7/7f9dfa8a0013a7cf1cd820c5b23fb5763fcf629f4587b6dc873eadbb1f61/panda3d-blend2bam-0.25.0.tar.gz",
"platform": null,
"description": "![Pipeline](https://github.com/Moguri/blend2bam/workflows/Pipeline/badge.svg)\n[![License](https://img.shields.io/github/license/Moguri/panda3d-blend2bam.svg)](https://choosealicense.com/licenses/mit/)\n\n\n# blend2bam\n`blend2bam` is a CLI tool to convert Blender 2.80+ blend files to Panda3D BAM files.\nIt also supplies a Python file loader to add \"native\" blend file support to Panda3D.\n\n## Features\n\nThe following are supported:\n* Static Meshes\n* Materials<sup>1</sup>\n* Textures\n* Lights\n* Skinned Meshes\n* Shape Keys\n* Skeletal Mesh Animations\n* Shape Key Animations <sup>2</sup>\n* Separate Animation Files\n* Collision Shapes <sup>3</sup>\n* Tags from Custom Properties\n* Convert Particle Systems to Meshes\n\n<sup>1</sup> The focus is on PBR materials with limited support for \"legacy\" materials.\nFor legacy materials, only diffuse color (pulled from base color) and normal maps are supported.\n\n<sup>2</sup> Shape key animations require Panda3D 1.10.6+\n\n<sup>3</sup> Collision shapes are generated from Blender's rigid body properties and shapes can be built for either Bullet or Panda3D's builtin collision system\n\nSome notable missing features are:\n* Object Animations\n* Multiple Diffuse/Base Color Textures\n\nThe [conversion guide](docs/conversion-guide-gltf28.md) provides information on how Blender data gets converted to Panda3D data and any gotchas.\n\n## Installation\n\nUse [pip](https://github.com/panda3d/panda3d) to install the panda3d-blend2bam package:\n\n```bash\npip install panda3d-blend2bam\n```\n\nBlender 2.80+ is required for `blend2bam` (ideally available on the system PATH).\nIf it is not, the directory containing `blender` can be specified with `--blender-dir` (see CLI usage).\n\n## Usage\n\n### CLI\n\n```\nusage: blend2bam [-h] [--version] [-v] [-m {legacy,pbr}] [--physics-engine {builtin,bullet}] [--srcdir SRCDIR] [--blender-dir BLENDER_DIR] [--blender-bin BLENDER_BIN]\n [--append-ext] [--no-srgb] [--textures {ref,copy,embed}] [--animations {embed,separate,skip}] [--invisible-collisions-collection INVISIBLE_COLLISIONS_COLLECTION]\n [--allow-double-sided-materials] src [src ...] dst\n\nCLI tool to convert Blender blend files to Panda3D BAM files\n\npositional arguments:\n src source path\n dst destination path\n\noptions:\n -h, --help show this help message and exit\n --version show program's version number and exit\n -v, --verbose print out extra information (default: False)\n -m {legacy,pbr}, --material-mode {legacy,pbr}\n control how materials are exported (default: pbr)\n --physics-engine {builtin,bullet}\n the physics engine to build collision solids for (default: builtin)\n --srcdir SRCDIR a common source directory to use when specifying multiple source files (default: None)\n --blender-dir BLENDER_DIR\n directory that contains the blender binary (default: )\n --blender-bin BLENDER_BIN\n name of the blender binary to use (default: blender)\n --append-ext append extension on the destination instead of replacing it (batch mode only) (default: False)\n --no-srgb do not load textures as sRGB textures (default: False)\n --textures {ref,copy,embed}\n how to handle external textures (default: ref)\n --animations {embed,separate,skip}\n how to handle animation data (default: embed)\n --invisible-collisions-collection INVISIBLE_COLLISIONS_COLLECTION\n name of a collection in blender whose collision objects will be exported without a visible geom node (default: InvisibleCollisions)\n --allow-double-sided-materials\n allow exporting double-sided materials (otherwise force all materials to be single-sided) (default: False)\n```\n\n### Python File Loader\n\n`blend2bam` also supports Panda3D's Python file loader API (requires Panda3D 1.10.4+) to seamlessly adds blend file support to Panda3D's `Loader` classes.\nThis *does not* add support to `pview`, which is a C++ application that does not support Python file loaders.\n\n## Running Tests\n\nFirst install `blend2bam` in editable mode along with `test` extras:\n\n```bash\npip install -e .[test]\n```\n\nThen run the test suite with `pytest`:\n\n```bash\npython -m pytest\n```\n\n## Building Wheels\n\nInstall `build`:\n\n```bash\npip install --upgrade build\n```\n\nand run:\n\n```bash\npython -m build\n```\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A tool to convert Blender blend files to Panda3D BAM files",
"version": "0.25.0",
"project_urls": {
"homepage": "https://github.com/Moguri/blend2bam"
},
"split_keywords": [
"panda3d",
"gamedev"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cd0e7df56abf28e4c79ac1e094eee5719f2fac15c124d2f4a18bc1f51cdbec06",
"md5": "8edc6deef8a27f799f9553ef98dc639a",
"sha256": "adfb3d3ea097a831c9d73f7d0c4dfd7fb0a8e180d1dbab3f8dd31d51cb1b1796"
},
"downloads": -1,
"filename": "panda3d_blend2bam-0.25.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8edc6deef8a27f799f9553ef98dc639a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 14012,
"upload_time": "2023-12-16T20:19:37",
"upload_time_iso_8601": "2023-12-16T20:19:37.390122Z",
"url": "https://files.pythonhosted.org/packages/cd/0e/7df56abf28e4c79ac1e094eee5719f2fac15c124d2f4a18bc1f51cdbec06/panda3d_blend2bam-0.25.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a3a77f9dfa8a0013a7cf1cd820c5b23fb5763fcf629f4587b6dc873eadbb1f61",
"md5": "72d88603d9a743119061b09234a8a5f9",
"sha256": "e52447664eaad157d5ccf4926a34bd4d2779214b381d482d3ae85958d94efdba"
},
"downloads": -1,
"filename": "panda3d-blend2bam-0.25.0.tar.gz",
"has_sig": false,
"md5_digest": "72d88603d9a743119061b09234a8a5f9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 14710,
"upload_time": "2023-12-16T20:19:39",
"upload_time_iso_8601": "2023-12-16T20:19:39.484998Z",
"url": "https://files.pythonhosted.org/packages/a3/a7/7f9dfa8a0013a7cf1cd820c5b23fb5763fcf629f4587b6dc873eadbb1f61/panda3d-blend2bam-0.25.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-16 20:19:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Moguri",
"github_project": "blend2bam",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "panda3d-blend2bam"
}