SarahWeiii/CoACD
[SIGGRAPH2022] Approximate Convex Decomposition for 3D Meshes with Collision-Aware Concavity and Tree Search
What it solves
CoACD decomposes complex 3D meshes into a set of approximate convex shapes. This is critical for applications like collision detection in physics engines, where calculating interactions between convex shapes is computationally efficient, but calculating them for complex, concave meshes is expensive and difficult.
How it works
The project implements a method that preserves collision conditions of the input shape while minimizing the number of resulting convex components. It uses a lookahead-search formulation (specifically Monte Carlo Tree Search or MCTS) to determine the best cutting strategies for the mesh. It also includes a manifold preprocessing step to handle non-manifold meshes, ensuring they are compatible with the decomposition process.
Who it’s for
Developers working with 3D geometry processing, game developers using Unity, and robotics researchers who need efficient collision meshes for simulation environments (e.g., MuJoCo or Bullet).
Highlights
- Collision-Aware: Designed specifically to preserve the physical interaction properties of the shape.
- Broad Compatibility: Supports Python, C++, and Unity as a package.
- Flexible Approximation: Supports both convex hulls and box approximations.
- Robust Preprocessing: Includes an "auto" mode to handle non-manifold meshes automatically.
- Real-World Scale: Features a real metric mode for meshes scaled in meters (e.g., CAD or 3D scans).
Related
- Project
- Project
- Project
- Project
- Project