Kinematic Kitbashing
This work addresses the problem of automatically creating articulated 3D objects from reusable parts for computer graphics and robotics, offering a flexible framework that supports user-defined functionality and graph edits.
Kinematic Kitbashing synthesizes articulated 3D objects by assembling reusable parts based on a kinematic graph, using an exemplar-based attachment energy and annealed Langevin sampling to optimize placement and functionality. The method enables diverse applications such as part retrieval, functional assembly, and articulation retargeting.
We introduce Kinematic Kitbashing, an optimization framework that synthesizes articulated 3D objects by assembling reusable parts conditioned on an abstract kinematic graph. Given the graph and a library of articulated parts, our method optimizes per-part similarity transformations that place, orient, and scale each component into a coherent articulated object; optional graph edits further enable novel assemblies beyond the prescribed connectivity. Central to our method is an exemplar-based analogy for part placement: each reused component is paired with a single source asset that exemplifies how it attaches to its parent. We capture this attachment context using vector distance fields and measure consistency by integrating the matching error over the joint's full motion range. This yields a kinematics-aware attachment energy that favors placements that preserve the exemplar's local attachment neighborhood throughout articulation. To incorporate task-level functionality, we use this attachment energy as a prior in an annealed Langevin sampling framework, enabling gradient-free optimization of black-box functionality objectives. We demonstrate the versatility of kinematic kitbashing across diverse applications, including instantiating kinematic graphs from user-selected or automatically retrieved parts, synthesizing assemblies with user-defined functionality, and re-targeting articulations via graph edits.