Skip to content

Data structures and utilities for skeleton animations.

License

Notifications You must be signed in to change notification settings

eherr/anim_utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.