explaingit

sebastianstarke/ai4animation

8,694C++Audience · researcherComplexity · 5/5Setup · hard

TLDR

A multi-year research project from the University of Edinburgh that uses neural networks trained on motion capture data to create realistic real-time character animation for games and virtual environments, covering bipeds, quadrupeds, sports, and VR avatars.

Mindmap

mindmap
  root((repo))
    What it does
      AI character animation
      Motion capture training
    Characters
      Biped locomotion
      Quadruped gait
      VR avatars
      Sports and fighting
    Tech Stack
      Unity engine
      Python ML tools
      Neural networks
    Outputs
      Pre-built demos
      Web demos
      Research papers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run pre-built Windows, Mac, or web demos to see AI-driven character locomotion in action without any setup.

USE CASE 2

Train a neural network on your own motion capture data to animate a custom character in real time.

USE CASE 3

Use the Python-based AI4AnimationPy version to experiment with biped and quadruped locomotion without a Unity dependency.

USE CASE 4

Import motion capture files in common formats using the included tool and use them as training data for animation networks.

Tech stack

C++PythonUnity

Getting it running

Difficulty · hard Time to first run · 1day+

Older demos require Unity, newer Python version is standalone but expects familiarity with ML tooling. GPU recommended for training.

In plain English

This repository is a research project focused on making animated characters in games and virtual environments move more realistically using neural networks trained on motion capture data. The core idea is that instead of hand-animating every movement, you record real human or animal movement, train a neural network on that data, and then let the network drive the character's motion in real time based on player input or sensor data. The project has been built up over several years and covers a wide range of character types and scenarios: two-legged human characters walking and running, four-legged animals with realistic gait transitions, characters interacting with objects in a scene, sports and fighting moves, and virtual reality avatars that mirror a person's real body movements using sparse sensor inputs. Each year typically adds new research published at SIGGRAPH, which is the top academic conference for computer graphics. The older version of the project was built inside Unity, a popular game engine. A newer 2026 version called AI4AnimationPy moves the same ideas to Python, removing the Unity dependency so that training, running inference, and visualizing results can all happen in one environment using standard Python tools. That version includes demos you can run directly from a folder, covering biped locomotion, quadruped locomotion, inverse kinematics (automatically calculating how a character's joints should bend to reach a target), and a motion capture import tool that reads several common file formats. The repository also includes published research papers, datasets, and pre-built demo applications for Windows, Mac, and VR. If you want to try the work without setting anything up, there are web demos hosted online. This is academic research code from the University of Edinburgh and collaborators including Meta. It is primarily intended for researchers and developers working on character animation or game AI. People without a background in machine learning or game development will find the code difficult to work with directly, but the video demos and web demos are accessible to anyone curious about what AI-driven character animation looks like in practice.

Copy-paste prompts

Prompt 1
Using sebastianstarke/ai4animation's Python version, help me run the biped locomotion demo and explain what the neural network is predicting at each frame.
Prompt 2
I want to train an animation model on my own BVH motion capture files using ai4animation. Walk me through the data import and training pipeline in AI4AnimationPy.
Prompt 3
Using the AI4AnimationPy inverse kinematics demo, explain how the network calculates joint positions to make a character's hand reach a moving target.
Prompt 4
I'm researching quadruped locomotion. Help me understand how the gait transition model in sebastianstarke/ai4animation handles changes in movement speed.
Open on GitHub → Explain another repo

← sebastianstarke on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.