Name | panda3d-blend2bam JSON |
Version |
0.26.0
JSON |
| download |
home_page | None |
Summary | A tool to convert Blender blend files to Panda3D BAM files |
upload_time | 2024-10-19 21:48:18 |
maintainer | None |
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": null,
"name": "panda3d-blend2bam",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "panda3d, gamedev",
"author": "Mitchell Stokes",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/2c/05/b2c09896c918a0468f7b6e4c14db1b75e69fce70354e811bad3ca211ae1f/panda3d_blend2bam-0.26.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.26.0",
"project_urls": {
"homepage": "https://github.com/Moguri/blend2bam"
},
"split_keywords": [
"panda3d",
" gamedev"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2561b68585549dd76a4ea1828cbcb0470930ebeed34cc47a8ad5b5c581b8cc14",
"md5": "814485d0edc4ec2dcc00e8635d89b8db",
"sha256": "1e2bbf9957352c3b9af97e17b7689178ce3e19ba25de8b179db25ec16ffd0972"
},
"downloads": -1,
"filename": "panda3d_blend2bam-0.26.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "814485d0edc4ec2dcc00e8635d89b8db",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 14603,
"upload_time": "2024-10-19T21:48:17",
"upload_time_iso_8601": "2024-10-19T21:48:17.054712Z",
"url": "https://files.pythonhosted.org/packages/25/61/b68585549dd76a4ea1828cbcb0470930ebeed34cc47a8ad5b5c581b8cc14/panda3d_blend2bam-0.26.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2c05b2c09896c918a0468f7b6e4c14db1b75e69fce70354e811bad3ca211ae1f",
"md5": "19db3c41e3a78a8587ce1bb87b8f812f",
"sha256": "491ed858d5620ea48c55a096fe5e5a9340793bea44e1fabd46d91ec8e01664c7"
},
"downloads": -1,
"filename": "panda3d_blend2bam-0.26.0.tar.gz",
"has_sig": false,
"md5_digest": "19db3c41e3a78a8587ce1bb87b8f812f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 16118,
"upload_time": "2024-10-19T21:48:18",
"upload_time_iso_8601": "2024-10-19T21:48:18.644086Z",
"url": "https://files.pythonhosted.org/packages/2c/05/b2c09896c918a0468f7b6e4c14db1b75e69fce70354e811bad3ca211ae1f/panda3d_blend2bam-0.26.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-19 21:48:18",
"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"
}