凸分解
凹形状のメッシュを凸な部品の集合に分割し、物理エンジンが高速に衝突判定できるようにする処理。
GJKやSATといった衝突判定アルゴリズムは、形状が凸であることを前提にしている。ボウルも椅子も文字の形も凹形状で、この前提を満たさない。対策は、凹形状を、全体でおおよそ中身を埋める複数の凸包に置き換えることだ。厳密な分解は数学的には正しいが、部品が多すぎて実用にならない。そのためエンジンは、許容する凹み具合を決めた近似凸分解で妥協する。
標準的なツールはV-HACD(Khaled Mamou、2011年ごろ)で、メッシュをボクセル化し、クラスタを貪欲に統合して上限数の凸包にまとめる。Bullet、Unity、Unrealに組み込まれている。トレードオフは単純で、凸包が少なければ速いが形は粗く、多ければ形は正確だがコストが上がる。