Tim Benckerstrategy. systems. execution.
Tim Bencker
Project

3D Animation Bridge

1 min readView on GitHub

Motion or data carried from one context to another without loss

This project solves a common problem in 3D animation workflows: when animation types aren't supported for export or import between different platforms and tools.

A few years ago at work, I encountered a limitation with a Three.js project - it didn't support bone-based animation. Bone-based animation is computationally and storage-efficient for animating meshes in 3D. In this approach, vertices (points describing the surface of an object) are bound to "bones." When a bone moves, the vertices move with it. If a vertex is assigned to multiple bones, its transform is interpolated between them.

However, since our package didn't support this at the time, I needed an effective solution.

I developed a script that converts bone-based animation to point-based animation. Instead of saving the bones' positions and animating the points based on that, the script saves the actual vertex positions directly. This is called vertex-based animation, or shape keys. While it's less efficient than bone-based animation, it enables some pretty cool things-and in my case, it simply allowed me to use an animation that I otherwise couldn't have.

When a year later or so, a friend approached me with a problem where he couldn't export an animation from Blender in the manner he wanted, I wrote a new script that applies this technique more broadly. I shared it publicly, thinking it might be useful to others.

There's something special about those little happy moments when someone across the globe stars your project - and you get the feeling to have been helpful. :)

Link: GitHub Repository

Let's talk about your project

Award-winning audio software · global brand experiences

Book a call