{"id":28682245,"url":"https://github.com/olafhaag/bvh-toolbox","last_synced_at":"2025-06-14T02:08:07.445Z","repository":{"id":39005366,"uuid":"146012276","full_name":"OlafHaag/bvh-toolbox","owner":"OlafHaag","description":"Scripts for manipulating and converting BVH files.","archived":false,"fork":false,"pushed_at":"2023-03-15T00:49:09.000Z","size":2299,"stargazers_count":93,"open_issues_count":8,"forks_count":17,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-06-10T17:57:12.039Z","etag":null,"topics":["animation","bvh-files","cal3d","converts-bvh","csv","panda3d","skeleton-joints"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OlafHaag.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-24T16:02:53.000Z","updated_at":"2025-05-25T05:57:04.000Z","dependencies_parsed_at":"2024-06-21T20:17:54.800Z","dependency_job_id":"bd928b3e-dcf9-450e-ba67-e9995518f53c","html_url":"https://github.com/OlafHaag/bvh-toolbox","commit_stats":{"total_commits":82,"total_committers":4,"mean_commits":20.5,"dds":"0.14634146341463417","last_synced_commit":"81892e4e2e3b4cc87766aea7b624969e42132a4d"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/OlafHaag/bvh-toolbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlafHaag%2Fbvh-toolbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlafHaag%2Fbvh-toolbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlafHaag%2Fbvh-toolbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlafHaag%2Fbvh-toolbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OlafHaag","download_url":"https://codeload.github.com/OlafHaag/bvh-toolbox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlafHaag%2Fbvh-toolbox/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259747228,"owners_count":22905313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["animation","bvh-files","cal3d","converts-bvh","csv","panda3d","skeleton-joints"],"created_at":"2025-06-14T02:08:06.743Z","updated_at":"2025-06-14T02:08:07.434Z","avatar_url":"https://github.com/OlafHaag.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"This repository provides *Python3* scripts for manipulating and converting BVH motion capture files.\n\n[![Latest version on PyPI](https://img.shields.io/pypi/v/bvhtoolbox.svg)](https://pypi.org/project/bvhtoolbox)\n[![Test Python package](https://github.com/OlafHaag/bvh-toolbox/workflows/Test%20Python%20package/badge.svg)](https://github.com/OlafHaag/bvh-toolbox/actions?query=workflow%3A%22Test+Python+package%22)\n\n# Installation\n* To install from PyPi:  \n`pip install bvhtoolbox`\n* To install from github using development mode:  \n`pip install -e git+https://github.com/OlafHaag/bvh-toolbox.git@master#egg=bvhtoolbox`\n* To install latest development version using regular mode (building the package):  \n`pip install https://github.com/OlafHaag/bvh-toolbox/archive/master.zip`\n* The installation creates some console scripts you can use.\n\n# Console scripts\n## Manipulate BVH files\n### Rename joints in bvh files\n* Command: **bvhrenamejoints**\n\n### Remove frames from BVH files\n* Command: **bvhremoveframes**\n\n### Offset joint angles in BVH files\n* Command: **bvhoffsetjointangles**\n* 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.\n  * The angles must be in the same order as the joint's channels in the BVH hierarchy.\n\n## Convert from or to BVH files\n\n### BVH to Cal3D XSF \u0026 XAF\n* Command: **bvh2xsf**\n* Command: **bvh2xaf**\n* Converts BVH files to the [Cal3D](https://github.com/mp3butcher/Cal3D/) XML skeleton (XSF) and animation (XAF) file formats.\n* The XAF files rely on the respective skeleton file.\n* XAF files have been tested to work with skeletons that were exported from 3DS Max and Blender.\n* I use the resulting xaf files in [Worldviz' Vizard](https://www.worldviz.com/vizard), so it's only been tested in this context.\n\n### BVH to Panda3D Egg animation file\n* Command: **bvh2egg**\n* Converts BVH files to the [Panda3D](https://panda3d.org/) animation file egg format.\n\n### BVH to CSV tables\n* Command: **bvh2csv**\n* Converts BVH to comma separated values tables.\n* Ouputs one file for hierarchy, one for joint rotations, and one for joint world positions.\n* Use `--hierarchy` to export the respective CSV file.\n* Using only the `--rotation` or the `--position` flag you can output only one of the transform tables.\n* The `--out` parameter only takes a directory path as an argument.\n* With the `--ends` flag the End Sites are included in the *_pos.csv file.\n\n### CSV tables to BVH\n* Command: **csv2bvh**\n* Takes 3 CSV files (hierarchy, rotation, position) previously exported using *bvh2csv* or created otherwise and builds a bvh file from them.\n\nAll 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.\n\n# How to run the console batch scripts\n* Open terminal.\n* If you've installed the bvhtoolbox into a conda/virtual environment, you have to activate it first.\n* type `\u003cscript_name\u003e -h` (substitute *\u003cscript_name\u003e* by one of the commands above) to get more information on the usage.\n\n# Notes\nThis package includes 20tabs' bvh module due to a lack of updates for this module on pypi.org.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folafhaag%2Fbvh-toolbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folafhaag%2Fbvh-toolbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folafhaag%2Fbvh-toolbox/lists"}