Assigning Animations to 3D Models Without the Closed Tooling
You've got a 3D model. It looks great in your modeling software. But the moment you want to make it walk, run, or swing a sword, you run into a wall—rigging and animating by hand is tedious, and the tools that make it easier tend to be closed-source web apps with limited format support. Mesh2Motion is an open-source answer to that problem, built as a web application that lets you import a model, fit a skeleton to it, test animations, and export the result.
What It Does
Mesh2Motion is a web application for assigning animations to 3D models. The author describes it as similar to Mixamo, but with a stated goal of being more flexible—supporting other model and skeleton types so it can grow beyond what closed tools offer. The open-source nature is meant to let it evolve through community contribution rather than staying fixed.
The workflow is straightforward. You import a 3D model (currently GLB/GLTF only), pick the skeleton type it'll use, then modify the skeleton to fit inside the model. From there you test various animations to see how they look, select the ones you want, and export—again as GLB/GLTF. The app has built-in instructions to walk you through this flow.
It's built with TypeScript and uses Vite for the web server and build process. There's also a separate internal tool for generating video previews of animations, documented in its own README within the repo. The 3D source files (models, rigs, animations) live in a separate repository to keep this one from bloating with large animation files—the compressed GLB files are what get stored here. The project runs on Node.js (the author uses version 24, though other versions probably work).
Why It's Cool
-
It's honest about what it is. The README doesn't oversell. It says "kind of similar to Mixamo" and openly notes the current GLB/GLTF-only limitation. That kind of plain talk is refreshing in a space full of inflated claims.
-
The licensing is genuinely open. The code and platform are MIT-licensed. The art assets—models, rigs, animations—are CC0. That combination means you can remix, change, and build on just about everything. For anyone who's been burned by restrictive licensing on animation libraries, this matters.
-
Flexibility is the stated goal, not just a feature. The author explicitly wants to support more model and skeleton types than the closed tools do. Whether that happens depends on contributors, but the architecture and licensing at least make it possible.
-
The skeleton-fitting step is the practical core. Rather than requiring you to pre-rig your model perfectly, you import it, choose a skeleton, and adjust the skeleton to fit. That's a real time-saver if you're working with models that don't already have a compatible rig.
-
Separation of assets keeps things manageable. Putting the Blender source files in a separate repo means you can clone and build the app without pulling down gigabytes of animation data. You only need the assets repo if you want to contribute new animations.
-
There's a live demo. You can try it at app.mesh2motion.org without installing anything, which lowers the barrier to figuring out whether it fits your workflow.
How to Try It
The easiest way to see what Mesh2Motion does is to use the hosted version at app.mesh2motion.org. If you want to run it locally, you'll need Node.js installed.
Clone the repo and install dependencies:
npm install
npm run dev
To create a production build (which outputs a dist folder ready to serve):
npm run build
If you'd rather not touch your local file system, there's a Docker option. Make sure Docker and Docker Compose are installed and running, then from the directory containing the Dockerfile:
docker-compose up -d
Then visit http://localhost:3000.
The repository is at github.com/mesh2motion/mesh2motion-app. If you want to contribute animations, the Blender source files live in a separate repo at github.com/Mesh2Motion/mesh2motion-assets.
Final Thoughts
Mesh2Motion is an early-stage project with a clear scope and a permissive license. It's not trying to be everything to everyone—right now it handles GLB/GLTF in and out, and the animation library depends on what the community builds. If you work with glTF models and want an open alternative to closed animation tools, it's worth a look. The author is also upfront that they're not the best animator and would welcome help building out the animation library, either through funding an animator or connecting with one who wants to contribute. That kind of transparency about limitations is a good sign for a project that hopes to grow through community involvement.
Follow @githubprojects for more developer tools and open source projects.