Utility functions and data structures for skeleton animations loaded from BVH and ASF/AMC files. The library provides functions for inverse kinematics and retargeting. The main dependency, in addition to NumPy, SciPy and Matplotlib, is the transformations library by Christoph Gohlke https://www.lfd.uci.edu/~gohlke/.
Clone the repository and install the package with editable flag or use the follwing command:
pip install git+https://github.com/eherr/anim_utils
The optional FBX IO requires the Python FBX SDK
from anim_utils.animation_data import BVHReader, MotionVector, SkeletonBuilder
bvh = BVHReader("example.bvh")
mv = MotionVector()
mv.from_bvh_reader(bvh)
skeleton = SkeletonBuilder().load_from_bvh(bvh)
point_clouds = []
for frame in mv.frames:
point_cloud = []
for j in skeleton.animated_joints:
p = skeleton.nodes[j].get_global_position(frame)
point_cloud.append(p)
point_clouds.append(point_cloud)
A retargeting script can be found in the example directory.
Erik Herrmann1, Han Du1, Martin Manns2, Markus Mauer2
1DFKI GmbH
2Daimler AG
Copyright (c) 2019 DFKI GmbH.
MIT License, see the LICENSE file.
Contributions by Daimler AG in the following files are also licensed under terms of the MIT license:
anim_utils/animation_data/bvh.py
anim_utils/animation_data/utils.py
Each file contains a copyright notice.