Skip to content
A CLI tool to convert Blender blend files to Panda3D BAM files
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Initial Commit Jan 14, 2019
.pylintrc Initial Commit Jan 14, 2019
LICENSE.txt Prune blendergltf tests directory from build Jan 15, 2019 gltf and gltf28: Convert particle systems as meshes Sep 14, 2019
setup.cfg Add initial, experimental support for using EGG/YABEE instead of gltf… May 21, 2019

Build Status Python Versions Panda3D Versions License


blend2bam is a CLI tool to convert Blender blend files to Panda3D BAM files


Use pip to install the panda3d-blend2bam package:

pip install panda3d-blend2bam


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

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,gltf28}
                        the backend pipeline used to convert files


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

Feature glTF EGG glTF28
Static Meshes ✔️ ✔️ ✔️
Textures ✔️ ✔️ ✔️
Multiple Diffuse Textures ✔️
Legacy Materials ✔️ ✔️
PBR Materials ✔️ ✔️
Lights ✔️ ✔️
Skinned Meshes ✔️ ✔️ ✔️
Skeletal Animations ✔️ ✔️ ✔️
Shape Keys ✔️
Shape Key Animations ✔️
CollisionSolids ✔️ ✔️ ✔️
Bullet Shapes ✔️ ✔️
Tags from Game Properties ✔️ ✔️
Tags from Custom Properties ✔️ ✔️
Convert Particle Systems to Meshes ✔️ ✔️



You can’t perform that action at this time.