Skip to main content

Python module for reading, manipulating and converting BVH motion capture files.

Project description

This repository provides Python3 scripts for manipulating and converting BVH motion capture files.

Latest version on PyPI Test Python package

Installation

  • To install from PyPi:
    pip install bvhtoolbox
  • To install from github using development mode:
    pip install -e git+https://github.com/OlafHaag/bvh-toolbox.git@master#egg=bvhtoolbox
  • To install latest development version using regular mode (building the package):
    pip install https://github.com/OlafHaag/bvh-toolbox/archive/master.zip
  • The installation creates some console scripts you can use.

Console scripts

Manipulate BVH files

Rename joints in bvh files

  • Command: bvhrenamejoints

Remove frames from BVH files

  • Command: bvhremoveframes

Offset joint angles in BVH files

  • Command: bvhoffsetjointangles
  • Can be used to additively offset joint angles in the BVH by supplying a csv table containing the mapping of joint names to euler angles.
    • The angles must be in the same order as the joint's channels in the BVH hierarchy.

Convert from or to BVH files

BVH to Cal3D XSF & XAF

  • Command: bvh2xsf
  • Command: bvh2xaf
  • Converts BVH files to the Cal3D XML skeleton (XSF) and animation (XAF) file formats.
  • The XAF files rely on the respective skeleton file.
  • XAF files have been tested to work with skeletons that were exported from 3DS Max and Blender.
  • I use the resulting xaf files in Worldviz' Vizard, so it's only been tested in this context.

BVH to Panda3D Egg animation file

  • Command: bvh2egg
  • Converts BVH files to the Panda3D animation file egg format.

BVH to CSV tables

  • Command: bvh2csv
  • Converts BVH to comma separated values tables.
  • Ouputs one file for hierarchy, one for joint rotations, and one for joint world positions.
  • Use --hierarchy to export the respective CSV file.
  • Using only the --rotation or the --position flag you can output only one of the transform tables.
  • The --out parameter only takes a directory path as an argument.
  • With the --ends flag the End Sites are included in the *_pos.csv file.

CSV tables to BVH

  • Command: csv2bvh
  • Takes 3 CSV files (hierarchy, rotation, position) previously exported using bvh2csv or created otherwise and builds a bvh file from them.

All converters have a --scale parameter taking a float as an argument. You can use it to convert between units for the position and offset values.

How to run the console batch scripts

  • Open terminal.
  • If you've installed the bvhtoolbox into a conda/virtual environment, you have to activate it first.
  • type <script_name> -h (substitute <script_name> by one of the commands above) to get more information on the usage.

Notes

This package includes 20tabs' bvh module due to a lack of updates for this module on pypi.org.

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

bvhtoolbox-0.1.3.tar.gz (112.4 kB view details)

Uploaded Source

Built Distribution

bvhtoolbox-0.1.3-py2.py3-none-any.whl (51.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file bvhtoolbox-0.1.3.tar.gz.

File metadata

  • Download URL: bvhtoolbox-0.1.3.tar.gz
  • Upload date:
  • Size: 112.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.1 CPython/3.7.4

File hashes

Hashes for bvhtoolbox-0.1.3.tar.gz
Algorithm Hash digest
SHA256 2d9dcae87cd6bfa28c89463450de84497e612682ca0697ea088fc7f2ef0f937f
MD5 efc0a8047ee26394913b2d92772595c5
BLAKE2b-256 12f3aa1b966444d940dcf9288096ade111b17902a9b9df6409ee5af781fbdff5

See more details on using hashes here.

File details

Details for the file bvhtoolbox-0.1.3-py2.py3-none-any.whl.

File metadata

  • Download URL: bvhtoolbox-0.1.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 51.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.1 CPython/3.7.4

File hashes

Hashes for bvhtoolbox-0.1.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a9e61dcb45c62ac36d08c93a63add2dbef0c74a8644420f619f6471b825f1829
MD5 d6116aecf574cf9b45bb2229419c6408
BLAKE2b-256 1dce1319ba7a998d991f36320dddf6c8a4d82ddd0dafc4b1c896951c1c44c6dd

See more details on using hashes here.

Supported by

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