Maniphest T65568

Cloth sim: Sewing and Self Collision issue
Closed, ResolvedBUG

Assigned To
Germano Cavalcante (mano-wii)
Authored By
Vit Kovalcik (Blackx)
Jun 6 2019, 4:28 PM
Tags
  • BF Blender
  • Physics
  • Nodes & Physics
Subscribers
Francois Rimasson (ffrima)
Germano Cavalcante (mano-wii)
Ish Bosamiya (ish_bosamiya)
Luca Rood (LucaRood)
Sebastian Parborg (zeddb)
Vit Kovalcik (Blackx)

Description

System Information
Operating system: Windows-10-10.0.17763 64 Bits
Graphics card: GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 398.36

Blender Version
Broken: version: 2.80 (sub 74), branch: blender2.7, commit date: 2019-06-06 00:27, hash: rB8b2b79c2108b
Worked: (optional)

Short description of error
When using sewing feature of the cloth simulator, it leaves a gap between sewn vertices. This only happens when Self Collision of the cloth is also on. In Blender 2.79 this is working correctly, i.e. there are no gaps.

Exact steps for others to reproduce the error
With the default cube, delete four side faces ("Only Faces" option, leaving the edges intact). The apply the Cloth modified in the Physics tab and use Sewing with Force 100. You can play the simulation to verify now it works correctly. After checking "Self Collision" and playing the simulation again, there are now gaps.

Revisions and Commits

rB Blender
D6911

Event Timeline

Vit Kovalcik (Blackx) created this task.Jun 6 2019, 4:28 PM
Vit Kovalcik (Blackx) updated the task description.Jun 6 2019, 4:33 PM
Vit Kovalcik (Blackx) added a comment.Jun 12 2019, 7:16 AM

I have attached a file to demonstrate the issue. Just open the .blend and run the animation/simulation, two frames are enough. There are two clothes with Sewing on and Sewing Force 100 (and Gravity = 0 for easier tests).

The left one is sewn perfectly. The right one has Self Collision set to On with Distance = 0.1, which breaks the sewing process. The vertices on the right are repulsed and are never sewn together, there is a gap between them. The bigger the Self Collision distance, the bigger the gap.

Sebastian Parborg (zeddb) assigned this task to Luca Rood (LucaRood).Jun 14 2019, 10:58 AM
Sebastian Parborg (zeddb) lowered the priority of this task from 90 to 50.
Sebastian Parborg (zeddb) added subscribers: Ish Bosamiya (ish_bosamiya), Sebastian Parborg (zeddb).

@Ish Bosamiya (ish_bosamiya) is this something that might have been fixed in your GSoC branch?

Ish Bosamiya (ish_bosamiya) added a comment.Jun 14 2019, 9:14 PM

No, the GSoC project will not tackle/fix this bug.

Francois Rimasson (ffrima) added a subscriber: Francois Rimasson (ffrima).Nov 30 2019, 12:56 PM
Francois Rimasson (ffrima) added a comment.Nov 30 2019, 3:27 PM

This bug is there for at least 6 months.
Is anybody still in charge of this task ?

Sebastian Parborg (zeddb) claimed this task.Dec 2 2019, 12:58 PM
Sebastian Parborg (zeddb) added a project: Physics.
Sebastian Parborg (zeddb) added a subscriber: Luca Rood (LucaRood).

Not really, I might take a look at it when I have time, but that might take a while.

Dalai Felinto (dfelinto) removed Sebastian Parborg (zeddb) as the assignee of this task.Dec 23 2019, 4:34 PM
Dalai Felinto (dfelinto) added a project: Tracker Curfew.
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Bug".Feb 3 2020, 2:46 PM
Germano Cavalcante (mano-wii) edited projects, added Nodes & Physics; removed Tracker Curfew.
Germano Cavalcante (mano-wii) added a subscriber: Germano Cavalcante (mano-wii).

Apparently the strength of the self collision always surpasses that of sewing, regardless of the value.

Luca Rood (LucaRood) added a comment.Feb 22 2020, 5:20 PM

This issue is caused by the new collision system.

The old system collided vertices with each other, treating them as spheres, and excluded collisions between vertices connected by sewing springs, so they would not collide.
The new system actually computes the collisions between triangles, and it is correct that the collision impulse should always surpass the sewing force, however the mistake is actually computing collisions between triangles connected by sewing springs at all. The new system already excludes collisions between adjacent triangles (those sharing an edge), and fixing this would require also excluding triangles connected by sewing springs.

This is fairly simple to fix, and I can look into it when I have some time, but if someone else can look into this sooner, I think the tips above should help.

Germano Cavalcante (mano-wii) closed this task as Resolved by committing rB5afa4b1dc8aa: Fix T65568: sewing and self collision issue.Mar 2 2020, 3:03 PM
Germano Cavalcante (mano-wii) claimed this task.
Germano Cavalcante (mano-wii) added a commit: rB5afa4b1dc8aa: Fix T65568: sewing and self collision issue.