Convex Primitive Decomposition for Collision Detection
Julian Knodt, Xifeng Gao
TL;DR
The paper addresses the challenge of efficiently generating collision objects for complex meshes by introducing a bottom-up convex primitive decomposition that fits parametric primitives to enclose the input surface. It builds on quadric-based linear operators to derive primitive orientations and uses a greedy, volume-based merging strategy to produce compact, editable colliders. Empirical results on a large Sketchfab dataset show closer input adherence, lower memory usage, and faster rigid-body simulation than prior convex-decomposition methods, supporting practical adoption in game pipelines. The approach emphasizes editor-friendly workflows, non-reliance on learning, and scalability to meshes with millions of faces, enabling robust, efficient collision proxies for real-time applications.
Abstract
Creation of collision objects for 3D models is a time-consuming task, requiring modelers to manually place primitives such as bounding boxes, capsules, spheres, and other convex primitives to approximate complex meshes. While there has been work in automatic approximate convex decompositions of meshes using convex hulls, they are not practical for applications with tight performance budgets such as games due to slower collision detection and inability to manually modify the output while maintaining convexity as compared to manually placed primitives. Rather than convex decomposition with convex hulls, we devise an approach for bottom-up decomposition of an input mesh into convex primitives specifically for rigid body simulation inspired by quadric mesh simplification. This approach fits primitives to complex, real-world meshes that provide plausible simulation performance and are guaranteed to enclose the input surface. We test convex primitive decomposition on over 60 models from Sketchfab, showing the algorithm's effectiveness. On this dataset, convex primitive decomposition has lower one-way mean and median Hausdorff and Chamfer distance from the collider to the input compared to V-HACD and CoACD, with less than one-third of the complexity as measured by total bytes for each collider. On top of that, rigid-body simulation performance measured by wall-clock time is consistently improved across 24 tested models.
