Skip to content

Repository files navigation

BlendAnything logo

Neural motion blending & retargeting — straight from Blender's NLA Editor.

Venue Project Website Blender Release

Luca Cazzola1 · Giulia Martinelli1,2 · Nicola Conci1,2
1 University of Trento · 2 CNIT · MMLab

BlendAnything teaser

Project site · Usage · API · Architecture · Skeletons


✨ What it does

Blender's NLA Editor becomes the front-end for a motion-processing server. Select one reference strip and one or more target strips; the add-on ships them to a local or remote server for neural blending or retargeting — even across different skeletons — and imports the result back into your scene as a ready-to-use NLA strip.

🧩 Cross-topology Blend or retarget between mismatched skeletons (Truebones, Mixamo, or custom)
🎚️ Per-strip weights Linked crossfades or independent strength envelopes on native influence curves
Non-blocking Progress-aware jobs polled once/sec — Blender never freezes
🔌 Swappable models Load any checkpoint from the server's catalog at runtime

🎉 News

Milestones

  • 19/07/2026Paper is out!
  • 12/06/2026 — First code release!

Coming soon

  • Model jointly trained on Humans & Animals (for crazy motion transfer!)
  • Better models (for better blending 😉)

Teaser Animated


🚀 Quick start

⚠️ Are you here for the technical deails ??? Check out neural_motion_blending to have the full picture 👀 Or reach out to us! (we're friendly 😉)

1 · Clone the repository

Clone BlendAnything recursively so the Neural Motion Blending submodule is downloaded at the same time:

git clone --recursive https://github.com/mmlab-cv/BlendAnything.git
cd BlendAnything

2 · Download the models

Download blendany_model_weights.zip and extract its model folders into:

BlendAnything/
└── neural_motion_blending/
    └── save/
        └── truebones_attnpool/
            ├── args.json
            └── model*.pt

The server discovers model folders under neural_motion_blending/save/. Each model folder must contain exactly one model*.pt checkpoint.

3 · Server Setup

conda env create --file neural_motion_blending/environment.yml
conda activate neural_motion_blending
pip install -r blendanything_server/requirements.txt
pip install --no-build-isolation git+https://github.com/inbar-2344/Motion.git

Then start the server

uvicorn blendanything_server.app:app --reload

Starts by default at localhost:8000

4 · Client Setup

  1. Install — zip the blendanything_client/ directory and install that zip in Blender.
  2. requests — if missing from Blender's Python: <blender-python> -m pip install requests
  3. Configure — set the Server URL in the Neural Blend panel (default http://localhost:8000); click the globe to verify.
  4. Go — open the NLA Editor → N-panel → Neural Blend → Import BVH, arrange strips, then Run Neural Blend.

💡 A few ready-to-use BVH clips ship in samples/ (e.g. Truebones Elephant, Skunk, Coyote, Crab) so you can try a blend right away.

Full walkthrough in docs/usage.md.


📚 Documentation

Doc Contents
Usage & UI Workflow, modes, panels, strength profiles, DDIM policy
Skeletons Skeleton selection, face joints, custom / OOD skeletons, conditioning
API Endpoints, request payload, progress phases, result delivery
Architecture Project layout, data flow, extending

Each package also has its own README: client · server · devtools · data


🧱 System requirements

The Blender client and neural server may run on different computers.

Component Requirement
Blender client Blender 4.5.4 LTS. The add-on otherwise follows Blender's supported desktop operating systems.
Server OS Linux x86-64 recommended and used by the provided environment. Native Windows and macOS server setups are not currently validated.
Server Python Python 3.8.15, matching neural_motion_blending/environment.yaml.
GPU An NVIDIA CUDA-capable GPU is required by the current inference path. The reference environment uses CUDA 12.1 and PyTorch 2.4.1.
Storage Space for the repository, model checkpoints, T5 assets, temporary BVH files, and generated motions.
Network The Blender client must be able to reach the server URL. Internet access is needed for the initial repository, dependency, model, and T5 downloads.

GPU memory use depends on the selected checkpoint and motion length. CPU-only inference and Apple Silicon/MPS are not currently supported release configurations.


🙏 Credits & acknowledgements

  • Neural Motion Blending — the cross-topology neural model powering BlendAnything, vendored as the neural_motion_blending git submodule.
  • AnyTop — the any-skeleton motion-generation work the model builds upon.
  • Truebones — source of the Truebones animal-skeleton motion data used for training and conditioning.
  • Mixamo (Adobe) — source of the Mixamo humanoid skeletons and motions used for training and conditioning.
  • Blender — the host application; the add-on lives in its Non-Linear Animation editor.
  • Motion — BVH read/write/edit library used by the server.

Datasets, model checkpoints, and any derived metadata remain subject to the licenses and distribution terms of their original sources.


💜 Cite Us 💜

If you use this work, please cite the SIGGRAPH Posters 2026 paper.

@inproceedings{10.1145/3799825.3818769,
    author = {Cazzola, Luca and Martinelli, Giulia and Conci, Nicola},
    title = {BlendAnything: A Blender Plugin for Cross-Topology Motion Blending},
    year = {2026},
    isbn = {9798400725487},
    publisher = {Association for Computing Machinery},
    address = {New York, NY, USA},
    url = {https://doi.org/10.1145/3799825.3818769},
    doi = {10.1145/3799825.3818769},
    booktitle = {Proceedings of the Special Interest Group on Computer Graphics and Interactive Techniques Conference Posters},
    articleno = {18},
    numpages = {3},
    keywords = {Character Animation, Motion Blending, Motion Retargeting},
    series = {SIGGRAPH Posters '26}
}

About

[SIGGRAPH 2026 Posters] - BlendAnything: A Blender Plugin for Cross-Topology Motion Blending - Official implementation

Topics

Resources

Stars

7 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages