Skip to main content

A Python package to help bootstrap and manage Panda3D applications

Project description

Build Status Panda3D Versions

Panda3D Manager

pman is a Python package to help bootstrap and manage Panda3D applications.

Features

  • Project quick-start
  • Automatic asset conversion
  • Automatically adds export directory to the model path
  • Convenient CLI for running and testing applications

Installation

Use pip to install the panda3d-pman package:

pip install panda3d-pman

Usage

Quick start a project with pman create. If you already have a directory for your project:

cd my_awesome_project
pman create .

pman can also create the directory for you:

pman create my_awesome_project

In addition to the create command, pman has the following commands:

  • update - re-run project creation logic on the project directory
  • help - display usage information
  • build - convert all files in the assets directory and place them in the export directory
  • run - run the application by calling python with the main file
  • test - run tests (shortcut for python setup.py test)
  • dist - create distributable forms of Panda3D applications (requires Panda3D 1.10+)
  • clean - remove built files

Configuration

Primary configuration for pman is located in a .pman file located at the project root. This configuration uses TOML for markup. The .pman configuration file is project-wide and should be checked in under version control.

Another, per-user configuration file also exists at the project root as .pman.user. This configuration file stores user settings and should not be checked into version control.

Settings in .pman.user take precedence over settings in .pman. Settings defined in neither .pman nor .pman.user will use default values as defined below.

General Options

Section name: general

option default description
name "Game" The project name. For now this is only used for naming the built application in the default setup.py.
renderer "none" A hook to control rendering options. This is useful to share rendering logic (e.g., shaders) between an editor and an application.

Build Options

Section name: build

option default description
asset_dir "assets/" The directory to look for assets to convert.
export_dir ".built_assets/" The directory to store built assets.
ignore_patterns [] A case-insensitive list of patterns. Files matching any of these patterns will not be ignored during the build step. Pattern matching is done using the fnmatch module
converters ["native2bam"] A list of hooks to perform conversions. Any files not associated with a converter will simply be copied (assuming they do not match an item in ignore_patterns).

Run Options

Section name: run

option default description
main_file "main.py" The entry-point to the application.
extra_args "" A string of extra arugments that are append to the invocation of main_file.
auto_build true If true, automatically run builds as part of running the application (via pman.shim.init). This is disabled in deployed applications.

Hooks

To extend functionallity, pman has supports for "hooks." There are currently hooks available for conversion (converters) and controlling rendering (renderers). These hooks are specified in config via Setuptools entry points. Hooks that ship with pman and their configuration options are discribed below.

Converters

native2bam

Entry point: native2bam Support file formats: egg, egg.pz, obj (and mtl), fbx, dae, ply

Loads the file into Panda and saves the result out to BAM. This relies on Panda's builtin file loading capabilities.

Options

None

blend2bam

Entry point: blend2bam Supported file formats: blend

Converts Blender files to BAM files via blend2bam.

Options

Section name: blend2bam

option default description
material_mode "legacy" Specify whether to use the default Panda materials ("legacy") or Panda's new PBR material attributes ("pbr"). This is only used by the "gltf" pipeline; the "egg" always uses "legacy".
physics_engine "builtin" The physics engine that collision solids should be built for. To export for Panda's builtin collision system, use "builtin." For Bullet, use "bullet." This is only used by the "gltf" pipeline; the "egg" pipeline always uses "builtin."
pipeline "gltf" The backend that blend2bam uses to convert blend files. Go here for more information.

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 Distribution

panda3d-pman-0.12.1.tar.gz (27.4 kB view details)

Uploaded Source

Built Distribution

panda3d_pman-0.12.1-py3-none-any.whl (32.5 kB view details)

Uploaded Python 3

File details

Details for the file panda3d-pman-0.12.1.tar.gz.

File metadata

  • Download URL: panda3d-pman-0.12.1.tar.gz
  • Upload date:
  • Size: 27.4 kB
  • Tags: Source
  • 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.48.2 CPython/3.7.1

File hashes

Hashes for panda3d-pman-0.12.1.tar.gz
Algorithm Hash digest
SHA256 ba6840c40c2713e6c4a5f0e50114ed765d1e45af280eda7ee001c000b5c81648
MD5 0ac4c0d68c2d4b74d108f2ea6b882adb
BLAKE2b-256 5ace9814a222e38337201ea11eda9d76a5fa38b6956d84ae02cb18eeff9c8fcd

See more details on using hashes here.

File details

Details for the file panda3d_pman-0.12.1-py3-none-any.whl.

File metadata

  • Download URL: panda3d_pman-0.12.1-py3-none-any.whl
  • Upload date:
  • Size: 32.5 kB
  • 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.48.2 CPython/3.7.1

File hashes

Hashes for panda3d_pman-0.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 965d9c92b2e5899aace6a118ae12a66957b5106530b5e9c6cf2e4fa48c347a9d
MD5 1928e6eac6bc96031ca7c103408fd268
BLAKE2b-256 43800ca4573bca5b94e4b7e130da8f753be06439d4a95dff7e1340d1b47e08ef

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