Skip to main content

A tool to convert Blender blend files to Panda3D BAM files

Project description

Pipeline Python Versions Panda3D Versions License

blend2bam

blend2bam is a CLI tool to convert Blender blend files to Panda3D BAM files. It also supplies a Python file loader to add "native" blend file support to Panda3D.

Installation

Use pip to install the panda3d-blend2bam package:

pip install panda3d-blend2bam

blend2bam also requires that Blender is installed. Ideally blender is available on the system PATH. However, if it's not, the directory containing blender can be specified with --blender-dir (see CLI usage).

Usage

CLI

usage: blend2bam [-h] [--version] [-m {legacy,pbr}] [--physics-engine {builtin,bullet}] [--srcdir SRCDIR]
                 [--blender-dir BLENDER_DIR] [--append-ext] [--pipeline {gltf,egg}]
                 [--no-srgb] [--textures {ref,copy,embed}]
                 src [src ...] dst

CLI tool to convert Blender blend files to Panda3D BAM files

positional arguments:
  src                   source path
  dst                   destination path

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -m {legacy,pbr}, --material-mode {legacy,pbr}
                        control how materials are exported
  --physics-engine {builtin,bullet}
                        the physics engine to build collision solids for
  --srcdir SRCDIR       a common source directory to use when specifying multiple source files
  --blender-dir BLENDER_DIR
                        directory that contains the blender binary
  --append-ext          append extension on the destination instead of replacing it (batch mode only)
  --pipeline {gltf,egg}
                        the backend pipeline used to convert files
  --no-srgb             do not load textures as sRGB textures (only for glTF pipelines)
  --textures {ref,copy,embed}
                        how to handle external textures
  --animations {embed,separate,skip}
                        how to handle animation data

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.

Pipelines

blend2bam has support for multiple backend "pipelines." Currently, gltf and egg are supported. For Blender 2.7x, gltf uses blendergltf and panda3d-gltf while egg uses YABEE and egg2bam from the Panda3d SDK. For Blender 2.8+, only gltf is supported uses the glTF exporter built into Blender 2.8+ instead of blendergltf. The below table hightlights some of the differences.

Feature glTF (2.7x) EGG (2.7x) glTF (2.8+)
Static Meshes :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
Textures :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
Multiple Diffuse Textures :x: :heavy_check_mark: :x:
Legacy Materials :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:2
PBR Materials :heavy_check_mark: :x: :heavy_check_mark:
Lights :heavy_check_mark: :x: :heavy_check_mark:
Skinned Meshes :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
Skeletal Animations :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
Shape Keys :x: :heavy_check_mark: :heavy_check_mark:
Shape Key Animations :x: :heavy_check_mark: :heavy_check_mark:1
Object Animations :x: :x: :x:
CollisionSolids :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
Bullet Shapes :heavy_check_mark: :x: :heavy_check_mark:
Tags from Game Properties :heavy_check_mark: :heavy_check_mark: :x:
Tags from Custom Properties :heavy_check_mark: :x: :heavy_check_mark:
Convert Particle Systems to Meshes :heavy_check_mark: :x: :heavy_check_mark:
Separate Animation Files :heavy_check_mark: :x:3 :heavy_check_mark:

1 Shape key animations require Panda3D 1.10.6.

2 Only supports diffuse color (factor and map pulled from base color) and normal maps. Requires panda3d-gltf >= 0.9.

3 Supported by EGG, but not implemented in blend2bam

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

panda3d_blend2bam-0.18-py3-none-any.whl (9.2 MB view details)

Uploaded Python 3

File details

Details for the file panda3d_blend2bam-0.18-py3-none-any.whl.

File metadata

  • Download URL: panda3d_blend2bam-0.18-py3-none-any.whl
  • Upload date:
  • Size: 9.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.0 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.8.7

File hashes

Hashes for panda3d_blend2bam-0.18-py3-none-any.whl
Algorithm Hash digest
SHA256 dbcf54e1ddd55f29e5cc5ab84894a5c7cb0a52c23acbba7f06f98e0f90314bcb
MD5 7849655773e54df6413a5ec57178cac4
BLAKE2b-256 bd5a29f2bb008846b1aec7fe2b21f712bb58501b7eb8cada042b48e4494fe536

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page