$ show sebastianstarke/AI4Animation
This repository provides a comprehensive research codebase for AI-driven character animation, spanning multiple SIGGRAPH publications from 2017 to 2024. It includes deep learning model training scripts (TensorFlow for PFNN, MANN, NSM; PyTorch for GNN, PAE, Codebook Matching) and corresponding Unity integration for real-time inference and visualization. The codebase ingests motion capture data (BVH, FBX, TRC), processes it through a Unity-based data pipeline (MotionData, Frame, Modules), trains phase-functioned or mode-adaptive networks, and exports trained weights for runtime use. The repository is hybrid: primarily a research project with both data pipeline (motion capture processing, feature extraction) and application (Unity demos, IK, visualization tools) components. It is not a standalone library but a reference implementation for academic publications, making it valuable for researchers and developers working on character animation, deep learning for motion, and real-time animation systems.
The LLM identified 5 files worth highlighting for reuse:
A comprehensive Unity Gizmo-based drawing library for debugging and visualizing 3D shapes, skeletons, text, and primitives. It is self-contained, well-documented, and can be dropped into any Unity project for immediate debug rendering.
A generic kd-tree implementation for fast nearest-neighbor searches in Unity. It supports arbitrary dimensions and distance functions, making it reusable for any spatial query task in games or simulations.
A dual CPU/GPU voxelizer that converts mesh geometry into a voxel grid. It uses compute shaders for performance and provides collision detection capabilities. Can be extracted as a standalone tool for rigid body or environment voxelization.
The main training script for the Phase-Functioned Neural Network. It demonstrates a clean separation of data loading, model definition, training loop, and evaluation. While project-specific, its structure serves as a reference for motion synthesis training pipelines.
An Anaconda environment file that pins Python dependencies for the generative model. It is the only explicit environment definition in the repository and can be reused to set up a consistent Python environment for PyTorch-based animation research.