Vivace implementation for fast cloths and soft bodies simulation

Do you have plans to integrate this into Blender in a soon future? If so, how long would you think it’ll take you to do this?

Well, the actual building of the general library for Projective Dynamics and beyond is matter of months just to have it working by itself, I’m still following tons of stuff to have my head wrapped around the various concepts (I knew already the repo you posted, which is quite good, but it lacks all the part regarding graph coloring and, most important, continuous collision detection and response, that I’m doing separately).

About the PBD library I’d need some help at least to move around the blender source code (keep in mind that I’m not a blender developer, just a wannabe), in which case it would be matter of weeks, at least for the cloth simulation part

I was thinking of what you said earlier and was so excited :smiley:!

“Basically this library is ready to substitute the current softbodies/cloth/hair simulation (even collision detection) for 2.8 release of blender in a plug-and-play manner and in matter of days if you knows the structure of the current implementation (input/output/collision management”

I only know bits and pieces so far and am about to go travelling for a bit, but when that’s done I think I’ll take a look.

Are you one of those worked on the current cloth simulation?

Of course, to keep the expectations at the right level, with this library I mean this one: https://github.com/InteractiveComputerGraphics/PositionBasedDynamics, which is not mine

And, also, I’m not a blender dev, so it will take me a while to wrap my head around the source code to make it work :sweat_smile:

My only work on blender so far was the corrective smooth modifier, and that got a decent amount of work from Campbell Barton in the end as well, but I’ve been experimenting with a few other bits and pieces in my own time recently. It would probably be worth talking to Luca Rood who was working on cloth recently.

Surely I’ll do, thank you for the suggestion

@TTNK @Jack_Simpson @AmirS @brecht Is so good to see people working on this as a passion project. :smiley: This is fascinating for me all the technical side of it is so cool, but I’m an artist, not a dev. Can’t wait to see this implemented in Blender one day. Keep up the good work!

Here you can find good information on how to become a Blender development.

@TTNK It looks like Houdini 17 will be using some new physics engines/solvers. I’m not familiar with them but would like to hear your opinion in comparison to the methods you’re implementing. Link to video here

Btw, are you actively working on this these days? As a Blender user, I would personally love to hear anything about your progress :slight_smile:

According to http://www.cgchannel.com/2018/09/sneak-peek-houdini-17-2/ the new vellum solver is based on xpdb. So very mush the same sort of solvers being discussed here.

1 Like

I don’t know if its a good or a bad thing that industrial software don’t use the state of the art, it’s good because it means that XPBD is good enough, it’s bad because we don’t have proof of concepts of these more advanced algorithm in a production environment

1 Like

Well, right now I’m focusing on making a DLL in C++ for Unity in my spare time and hopefully, if I can make it work as I hope, I’'d be glad to put in blender :smiley:

2 Likes

the epilepsy will be eradicated with your method :joy:

Blender 2.8 will have an interactive mode for making games and doing robotics research. I had some discussions recently with the main developer of the interactive mode and posted a part of our discussions here. The current soft body solver cannot be used for the interactive mode since it is definitely not going to be real-time unless the objects/meshes are low-poly. Therefore, the interactive mode needs a much better soft body physics solver and implementing the methods discussed in this thread will be pretty useful for the interactive mode.

1 Like

I hesitated to revive this topic but its important and i would like to hear any news? The interactive mode is currently on hold? But with a dedicated developer for physics ( yes finally) is there a chance for a roadmap? The adaptive cloth simulation is planned to land in 2.82 (and of cause mantaflow) but whats next?

1 Like

Very interesting thread. Thanks for reviving it so I could read all of this!

I too would like to hear more about this. I’ve been using Marvelous Designer for a while and it’s so much fun to work with real-time cloth simulation. The new MD is even implementing GPU cloth simulation, so I’m optimistic about the future of this technology. Anyone know how MD does it?

1 Like

@brecht I recently came across this work which seems to be amazing! They show that their method is much better than state of the art (including Vivace). Watch their video here. They also have published their code:

http://tiantianliu.cn/papers/xian2019multigrid/xian2019multigrid.html

4 Likes

I saw that paper, the performance are insane, but there are two major problems for which I’d still vastly prefer the Vivace system:

  • Vivace is much much simpler
  • Vivace doesn’t have a pre-computation step

The precomputation step is kinda important, because that’s where you pay for the computation, for instance, in case of tearing, even if you have 40fps during the simple simulation, you have 20-30 seconds of waiting every time you change the structure of the mesh

Also Vivace is just a way to invert a matrix quickly, nothing too fancy, under it there is the PBD, the XPBD or the Projective Dynamics frameworks, that, even if they far from perfect and they can only handle the Hook law, they can still give you stable and reliable simulation, with relatively low effort on the developing side, and still able to handle a huge variety of effects, you just need to add the proper constraint to the list of the different constraints

2 Likes