ContourCraft: Learning to Resolve Intersections in Neural Multi-Garment Simulations

Artur Grigorev, Giorgio Becherini, Michael J. Black, Otmar Hilliges, Bernhard Thomaszewski
5/15/2024
cs.GRcs.LG

No official code found. Best implementation: Dolorousrtur/ContourCraft (100 stars, MIT, last commit 2025-08-02).

Abstract

Learning-based approaches to cloth simulation have started to show their potential in recent years. However, handling collisions and intersections in neural simulations remains a largely unsolved problem. In this work, we present \moniker{}, a learning-based solution for handling intersections in neural cloth simulations. Unlike conventional approaches that critically rely on intersection-free inputs, \moniker{} robustly recovers from intersections introduced through missed collisions, self-penetrating bodies, or errors in manually designed multi-layer outfits. The technical core of \moniker{} is a novel intersection contour loss that penalizes interpenetrations and encourages rapid resolution thereof. We integrate our intersection loss with a collision-avoiding repulsion objective into a neural cloth simulation method based on graph neural networks (GNNs). We demonstrate our method's ability across a challenging set of diverse multi-layer outfits under dynamic human motions. Our extensive analysis indicates that \moniker{} significantly improves collision handling for learned simulation and produces visually compelling results.

View on arXivView PDF

Code Implementations(1)

MIT

Code for SIGGRAPH2024 paper "ContourCraft: Learning to Resolve Intersections in Neural Multi-Garment Simulations"

1009Python, Jupyter NotebookJul 31, 20241 years agoMIT

Similar Papers

Cite this paper

@article{grigorev2024contourcraft,
  title  = {ContourCraft: Learning to Resolve Intersections in Neural Multi-Garment Simulations},
  author = {Artur Grigorev and Giorgio Becherini and Michael J. Black and Otmar Hilliges and Bernhard Thomaszewski},
  year   = {2024},
  eprint = {2405.09522},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2405.09522v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2405.09522.svg)](https://codeofpaper.com/paper/2405.09522)

Discussion