Wie kriegt man solche Ecken weg?
Ich wollte in Blender mal etwas extrem simples rendern, ein Tuch was auf einen leicht gedrehten Würfel fällt, jetzt sieht man nur, dass die Ecken vom Würfel durch das Tuch durchgehen, etwa so:
Wie bekomme ich das weg? Eigentlich sollte das Tuch ja den Würfel völlig bedecken...
2 Antworten
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.
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!)
- 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:
Quality Steps: 6; Self Collisions: On, Collisions Quality: 6, Collision Distance: 0.0125m:
Quality Steps: 7; Self Collisions: Off; Collision Quality: 1; Collision Distance: 0.025m:





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:
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:
- 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.
- 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.
