Approximate convex decomposition aims to decompose a 3D shape into a set of almost convex components, whose convex hulls can then be used to represent the input shape. It thus enables efficient geometry processing algorithms specifically designed for convex shapes and has been widely used in game engines, physics simulations, and animation. While prior works can capture the global structure of input shapes, they may fail to preserve fine-grained details (e.g., filling a toaster's slots), which are critical for retaining the functionality of objects in interactive environments. In this paper, we propose a novel method that addresses the limitations of existing approaches from three perspectives: (a) We introduce a novel collision-aware concavity metric that examines the distance between a shape and its convex hull from both the boundary and the interior. The proposed concavity preserves collision conditions and is more robust to detect various approximation errors. (b) We decompose shapes by directly cutting meshes with 3D planes. It ensures generated convex hulls are intersection-free and avoids voxelization errors. (c) Instead of using a one-step greedy strategy, we propose employing a multi-step tree search to determine the cutting planes, which leads to a globally better solution and avoids unnecessary cuttings. Through extensive evaluation on a large-scale articulated object dataset, we show that our method generates decompositions closer to the original shape with fewer components. It thus supports delicate and efficient object interaction in downstream applications. We will release our implementation to facilitate future research.
翻译:近似 convex 分解法旨在将3D形状分解成一组几乎 convex 组件, 这些组件的卷尾壳可以用来代表输入形状。 这样可以对专门为 convex 形状设计并被广泛用于游戏引擎、物理模拟和动画的高效几何处理算法。 虽然先前的工程可以捕捉输入形状的全球结构, 但是它们可能无法保存细微的形状( 例如填充一个烤箱), 这对在互动环境中保留对象的功能至关重要 。 在本文中, 我们提出了一个新颖的方法, 从三个角度解决现有方法的微妙应用的局限性 :(a) 我们引入一种新的碰撞- 感应变曲线曲线处理算法, 来检查形状及其从边界和内部的矩形结构之间的距离 。 提议的混凝土结构保存着碰撞条件, 并且更坚固地检测各种近似错误 。 (b) 我们通过直接切除 mesh 和 3D 平面来分解形状的形状。 它确保生成的螺旋体是交叉和避免现有方法的变形结构的形状从三个角度来影响应用。 因此, 将更精确地进行一个更精确的计算, 选择一个更精确的策略将使得我们用一个更精确的模型进行一个更精确的排序 来决定一个更精确的模型 。