anim_utils
anim_utils copied to clipboard
Data structures and utilities for skeleton animations.
Skeleton Animation Utilities
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/.
Installation
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
Example
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.
Developers
Erik Herrmann1, Han Du1, Martin Manns2, Markus Mauer2
1DFKI GmbH
2Daimler AG
License
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.