Most of the cloth improvements have been ported to Blender 2.8, and thus the cloth-improvements branch is no longer supported. It is strongly advised for anyone using cloth to switch to Blender 2.8. The status of the port and more details about the patches can be found here: https://developer.blender.org/T56596
========
Note: Ever since I started working on my cloth proposal, all updates to my cloth developments have moved to my cloth page on the Blender wiki, and I’ll no longer update this post (apart from builds, whenever available). However, I’ll still continue answering comments in this thread.
Here is the latest win64 build, kindly provided by @Sim_Piko:
23-Jul-2018 build (7eb44c2): https://drive.google.com/open?id=1x3MyHiH_CW0_J0wJ6TsjOmwukx_7dc7G
==== Original post ====
Hey people,
Blender’s cloth simulator is quite nice, however recently I had the need for some features that weren’t available, so I decided to code them. After implementing the main things I wanted, I found myself getting increasingly familiar with Blender’s cloth sim code, so now I think I’m in a good position to continue adding a few more useful things.
I made this thread to post the status of my cloth developments, and to allow you guys to suggest some things you might want to see in the cloth simulator. Keep in mind that I’m doing this independently and in my spare time, so there is no guarantee that I’ll be able to implement everything, nor that it will be accepted into master if I do implement it. Also, I might dedicate more or less time to this, depending on the feedback I get here.
Here is a list of features, and their status (features are explained below):
[TABLE=“width: 500, align: left”]
Feature
Status
Diff
Time multiplier
Released
D2122
Dynamic base mesh
Released
D1903
UI clean-up
Released
D2121
Property scaling
Implemented for friction
D2166
Internal pressure
WIP
Better air resistance
Planned
Tearing
Evaluating feasibility
Looping
Evaluating feasibility
[/TABLE]
- Time multiplier:
This is a new property that allows you to change the “real world” speed of the simulation. This suppresses the problem that Blender’s cloth simulator has, of measuring time in frames instead of actual time, causing the simulation to seem much faster at higher frame-rates. With this new property, you can set the simulation to whatever speed you want. If it looks too fast, just decrease the time multiplier, and of course the opposite is also true. Also an additional thing that this feature allows, is to animate the speed, creating a “time warp” effect, demonstrated in the video below:
- Dynamic base mesh:
This is a new checkbox that when checked, makes the cloth respect any deformation in the base mesh. So for instance, if you have a character that stretches, morphs, or changes proportions in any way, you can animate the cloth mesh accordingly, and simulate on top of the animation, and now your simulation will adjust and keep up with your animation (with dynamic base mesh checked, of course). This enables mainly the more extensive use of cloth simulations for cartoon animations in Blender, which couldn’t previously be simulated and would’ve had to be manually animated because of character “stretchyness”. Here is a little video demonstrating the effect:
- UI clean-up:
This is fairly self-explanatory and isn’t really a feature, I have just made the cloth UI a bit more organized. This was in part because I had to fit the new features in, and partly because the UI was just a bit off, and could be improved upon. Basically what I did, was change things around a bit, to better align everything. Here is a side by side of, respectively, the old UI and the new UI with all the other features included:
- Property scaling (Friction scaling already implemented D2166):
This is a feature similar to the existing stiffness scaling options, which allow you to set vertex groups to determine the bending and structural stiffness of the cloth. The plan here, is to implement vertex group based scaling of other properties, like mass or friction. I’ve not yet looked into the feasibility of implementing this, but I imagine it shouldn’t be too complicated. If nothing more important comes up, this is the next thing I’ll try to tackle.
You can test the features marked as “committed”, by downloading the latest daily build.
Well, I think that’s about it, I look forward to your feedback and suggestions