CoACD vs V-HACD vs manual hulls
The collision mesh you ship is the single biggest knob on simulator speed and contact fidelity. CoACD produces fewer, smarter hulls; V-HACD is the faster workhorse; hand-made hulls still win on hero assets. Here is how the three approaches compare and when each is the right choice.
Updated 2026-06-05
CoACD (Collision-Aware Convex Decomposition, 2022) splits a mesh into convex hulls while preserving the concavity that actually affects contact — so it emits far fewer hulls than V-HACD and simulates faster, at the cost of a slower decomposition. V-HACD (2014) remains the quicker, better-tooled default. Manual hulls still win on hero assets.
Side-by-side comparison
| Dimension | V-HACDVolumetric HACD, the workhorse | CoACDCollision-aware ACD, 2022 | Manual hullsHand-authored primitives |
|---|---|---|---|
| Origin | Khaled Mamou, 2014 | Wei et al., SIGGRAPH 2022 | Authored by hand |
| Algorithm class | Volumetric voxel-based ACD | Collision-aware ACD with concavity metric | N/A, designer-authored |
| Typical hull count | 10-64 per asset | 4-24 per asset | 1-8 per asset (often primitives) |
| Decomposition time | Seconds per asset | Tens of seconds per asset | Minutes to hours per asset (engineer time) |
| Sim performance | Slower (more hulls per contact pair) | Faster (fewer hulls, fewer contact pairs) | Fastest (lowest hull count, often primitives) |
| Concavity preservation | Voxel-resolution dependent, can over-split concave features | Preserves concavity where it affects collision | Exact, designer-controlled |
| Tooling availability | Built into Bullet, NVIDIA PhysX, Unreal, Unity, Blender, Houdini | Open-source on GitHub (SarahWeiii/CoACD); plugins maturing | Authoring tools you already use (Blender, Maya, Houdini) |
| Repeatability | Deterministic given parameters | Deterministic given parameters | Subject to designer judgment |
| Best fit | Fast automated baselines, dynamic objects, catalog scale | Production simulation, contact-rich tasks, concave geometry | Hero assets, known-shape primitives, navigation obstacles |
V-HACD: the workhorse, with caveats
V-HACD (Volumetric Hierarchical Approximate Convex Decomposition) is the algorithm most physics pipelines reach for first. It voxelises the input mesh, then merges voxel groups into convex hulls until a concavity threshold is satisfied. Strengths: it is fast (seconds per asset), deterministic given parameters, and shipped in nearly every physics-adjacent tool (Bullet, NVIDIA PhysX, Unreal Engine, Unity, Blender, Houdini, NVIDIA Omniverse). Weakness: at default settings it tends to over-split concave geometry into many small hulls, which slows simulation because each contact pair gets evaluated against more hulls. Tuning the maximum-hull-count and concavity-threshold parameters can compensate, but the floor is the algorithm: V-HACD is not concavity-aware.
CoACD: collision-aware ACD, the 2022 follow-up
CoACD (Collision-Aware Approximate Convex Decomposition) was published at SIGGRAPH 2022 (Wei, Liu, Jiang, Tu, and Pan). Its key idea: instead of decomposing to satisfy a generic concavity threshold, decompose to preserve concavity where it matters for collision. Practically, CoACD emits fewer hulls than V-HACD for the same fidelity, typically 4-24 versus V-HACD's 10-64, so simulation runs faster despite CoACD taking longer to decompose. The open-source implementation (SarahWeiii/CoACD on GitHub) is mature; pipeline integration is maturing (PhysX, Unreal, Unity plugins are adopting it gradually). For production simulation where per-step physics cost matters, CoACD is increasingly the right answer.
Manual hulls: when human judgment wins
For hero assets, the small set of objects your scenario depends on, neither V-HACD nor CoACD beats a designer who understands the task. A manipulation task with a specific cup needs a thin-walled, concave collision hull that matches the visual mesh; an automated algorithm will approximate, a designer will model exactly. Navigation obstacles often work best as simple primitives (boxes, capsules, spheres) chosen by hand, even when the visual mesh is complex. The cost is engineer time: minutes to hours per asset, versus seconds for V-HACD or tens of seconds for CoACD. The practical pattern is hybrid: automated decomposition for the catalog, manual hulls for the dozen hero assets that drive task outcomes.
When to choose each
Fast automated baselines, catalog-scale processing where simulation cost is dominated by other factors, and any pipeline that already integrates V-HACD through PhysX, Unreal, or Unity tooling.
Production simulation with concave geometry, contact-rich tasks, RL training where per-step physics cost matters, and any asset where V-HACD's hull count is the simulation bottleneck.
Hero assets in the critical path of a task, navigation obstacles where simple primitives suffice, and any case where designer judgment beats algorithmic approximation on outcome metrics.
Where Rigyd fits
Rigyd generates collision meshes automatically as part of the SimReady asset pipeline. The default decomposition is tuned for contact-rich simulation (closer to CoACD's behaviour than V-HACD's); hull count and concavity tolerance are tunable for teams who want to push toward V-HACD-style speed or manual-style precision. Collision geometry is treated as a performance decision, not a byproduct: fewer, better-placed hulls mean cheaper contact resolution, and cheaper contact is what makes a long RL run affordable.