BabyBlue26 / anim_utils

Data structures and utilities for skeleton animations.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Data structures and utilities for skeleton animations.

License:Other


Languages

Language:Python 100.0%