Wie kriegt man solche Ecken weg?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Das Problem kommt dadurch, dass das tuch in der Simulation zu schnell auf den Würfel fällt. Dadurch kann die Simulation die Punkte, aus denen das tuch besteht zwischen den einzelnen Frames/Subframes nicht erkennen, da die Simulation nur mit Momentaufnahmen arbeitet.

Folgendes kannst du dagegen machen:

  • Sorge dafür, dass mehr Simulationsschritte stattfinden. Gehe dazu in den Physics Tab des Tuches und erhöhe die "Quality Steps" (Vergleich Bild: Blau). Beachte dabei, dass die Simulation hierdurch deutlich Rechenaufwändiger wird.
  • sorge dafür, dass der Bereich, in dem die Collision erkannt wird größer wird. Gehe dazu im Physics Tab des Tuches in die Sektion "Collisions" und ändere die Distance (Vergleich Bild: Rot). Sei dabei jedoch vorsichtig, da dies den Abstand zwischen Tuch und Würfel erhöhen kann.
  • Helfen kann auch die Options Physics Tab -> Collisions -> Quality zu erhöhen. häufig erhält man jedoch auch bessere Ergebnisse mit niedrigeren Werten.

Bild zum Beitrag

Was zusätzlich helfen kann für bessere Ergebnisse

Mehr Geometrie / Subdivision des Würfels (Achtung: der Modifier muss VOR dem Modifier für die Collision stehen!)

Bild zum Beitrag

  • Falls das Tuch durch sich selbst fällt: Aktivieren von Self Collisions. (Achtung: Rechenaufwand erhöht sich drastisch, die Option kann zu anderen Problemen führen. Es wird einiges an Ausprobieren mit verschiedenen Einstellungen nötig sein. Insbesondere kann es sein, dass die Self-Collision-Distance verringert werden muss und dementsprechend die Quality Steps erhöht werden müssen.
  • Falls möglich reduziere die Geometrie des Tuchs auf das nötigste für den Detailgrad, den du gerne hättest. Dies reduziert nicht nur die Simulationsdauer, sondern kann auch Collisionsproblemen vorbeugen.

Standardeinstellungen:

Bild zum Beitrag

Quality Steps: 6; Self Collisions: On, Collisions Quality: 6, Collision Distance: 0.0125m:

Bild zum Beitrag

Quality Steps: 7; Self Collisions: Off; Collision Quality: 1; Collision Distance: 0.025m:

Bild zum Beitrag

Woher ich das weiß:Hobby
 - (Design, Animation, 3D)  - (Design, Animation, 3D)  - (Design, Animation, 3D)  - (Design, Animation, 3D)  - (Design, Animation, 3D)

Das liegt an der Simulation. Stelle dir vor, an jedem Vertex sei ein Ball, welcher Kollisionen erkennen kann und durch Federn mit seinen Nachbarn verbunden ist:

Bild zum Beitrag

In etwa so werden in der Physik und am Computer standardmäßig dehnbare Materialien modelliert. Diese Methode ist aber nicht perfekt; zwischen Bällen gibt es keine Möglichkeit, Kollisionen zu erkennen.

Dagegen gibt es nicht eine Methode, welche alles löst. Du kannst aber:

  1. Darauf achten, dass die Vertices nicht zu weit auseinander gezogen werden, indem du die Kräfte, welche sich auswirken, reduzierst. Das geht z. B. durch die "Vertex Mass" (sollte hier weit unter den Standard gesetzt werden; so wäre der Stoff mit allen Punkten wahrscheinlich einige Hundert Kilo schwer) und die Stiffness und Dampening Gegenkräfte. Natürlich solltest du auch darauf achten, dass es genug Punkte gibt; das ist hier aber bereits mehr als der Fall.
  2. Die Simulation an sich entsprechend einstellen (z. B. sollte der Cube "Single Sided" sein, sodass Kollisionen nicht nur auf der Oberfläche möglich sind) und auch genug Qualität geben ("Collisions" Gruppe in den Einstellungen des Stoffs); letzteres ist natürlich ein Balance-Akt, da wir nicht unendlich Rechenleistung haben.
Woher ich das weiß:eigene Erfahrung – Langjähriger Poweruser & praktische Programmiererfahrung
 - (Design, Animation, 3D)