Convex Decomposition
凸分解AdvancedCutting a concave mesh into several approximately convex pieces so it can serve as simulation collision geometry.
When a physics engine does collision detection, convex shapes (where the line between any two points stays inside the shape) are fast and numerically stable to work with, which is why engines like MuJoCo automatically replace a mesh's collision geometry with its convex hull (the smallest convex shape that contains it). For concave objects like cups, bowls, and drawers, taking the convex hull directly “seals up” the opening, so nothing can be placed inside. Convex decomposition instead cuts a concave mesh into several approximately convex pieces, takes the convex hull of each piece, and assembles them to approximate the original shape. Two tools are commonly used: V-HACD (voxelized hierarchical approximate convex decomposition by Karim Mammou, now unmaintained) and CoACD (from Hao Su's group at UC San Diego, SIGGRAPH 2022, which uses “collision-aware concavity” plus tree search to choose cutting planes, preserving more detail, and installs via pip). When preparing simulation assets, object meshes are usually run through convex decomposition before entering the simulator.
ExampleA coffee mug mesh reduced to a single convex hull has its opening sealed shut, so a spoon can't be placed inside it in simulation; decomposed with CoACD into several convex pieces instead, the wall and handle each become their own piece and the interior space is preserved.
- Also called
- Approximate Convex Decomposition, ACD, CoACD, V-HACD
- Related
- Collision Geometry (Collider) · Collision Detection · Convex Decomposition · Simulation Assets · MuJoCo (Multi-Joint dynamics with Contact) · Interpenetration
- Sources
- Approximate Convex Decomposition for 3D Meshes with Collision-Aware Concavity and Tree Search (CoACD, SIGGRAPH 2022)
V-HACD GitHub 仓库(已归档,指向 CoACD) (Chinese)
MuJoCo 文档 Modeling(mesh geom 碰撞时被凸化) (Chinese) - As of
- 2026-09