Soft body self collision collapsing in on itself

Hello everyone!

So, I understand that I’ve been posting quite a bit here recently but I’ve run into a problem that sincerely makes zero sense to me. I’ve been working with soft body physics to simulate noodle-like physics and, for the life of me, I cannot find a solution to this issue.

So here’s my setup (.blend file and tl;dr included).

All I do is take a path, subdivide it three or four times, and bevel a bezier circle around it for cosmetic purposes. Then, I give it soft body physics and drop it onto a platform (scaled cube) with collision physics.

Perfect! This works like a charm. (This is layer one on the .blend file).

Now, to have a whole bunch of noodles collide, I add in another noodle and join them together (since paths can’t exactly collide with one another, see this post: )

These two noodles collide wonderfully, just as I intend. (Layer two on the .blend file).
Simple enough, let’s duplicate that set and try it again.

And now, the chaos ensues. Two of the noodles (the originals) bounce up into the air rather violently while the other two noodles collapse in on themselves. (Layer three on the .blend file).

I’ve tried as many combinations of duplicating, moving, applying, rotating, and changing as I can think of and I have yet to find a solution to this.

Any help is appreciated! Thank you so much!

tl;dr: My noodles are paths. To collide, I join them together (self collision). Duplicate, join, repeat. First time it works, second time it goes crazy (two will fly violently and the other two will just collapse).

.blend file: MultinoodleTest.blend (1.5 MB)

Hmm, I see. It looks to me like the problem is really with the self-collision. Without the noodles behave more regular… Well about Blender’s collision handling, there is quite a bit of room for improvement…

Maybe 2 suggestions, which help a little (but not a perfect solution):

  • make the initial geometry of the noodles a bit asymmetric (curved or at least not completely perfendicular to the ground), to give them a seed to start bending
  • using a mesh (containing just strings of vertices) for the sim, as it behaves better to a certain degree
1 Like