A tool to convert Blender blend files to Panda3D BAM files
Project description
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
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: |
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.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file panda3d_blend2bam-0.15-py3-none-any.whl
.
File metadata
- Download URL: panda3d_blend2bam-0.15-py3-none-any.whl
- Upload date:
- Size: 9.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57949fbb71fe79c7e37ab40f8bb117bb040f3a09ee2e72614d99a8328de9e2f6 |
|
MD5 | 0f5d6bd3d633e15deae104feccceb140 |
|
BLAKE2b-256 | 73539b8c8847cffef2ee1d66f0ea188cfe0f5829a29cbcd99fc330843d65ac63 |