Cloth simulator improvements

@Luca_Rood, I was wondering what are proper values for new cloth engine for fabrics like: denim, cotton, leather, silk etc. Is there some online reference table?

Luca do you plan to update presets shipped with blender to the new system? Iā€™m sure it would help people to understand all settings and their values.

Sorry if stupid question, but will there be a ā€œinflateā€ or some internal pressure option? Or can it be achieved now using existing options?

for inflate you can try to use force field(not perfect) or use ā€œModelling clothā€ addon,it has inflate option.

1 Like

@Luca_Rood hi, thanks for all your hard work on this.
May I ask if there is any ETA on internal pressure? I would use it basically everyday on my daily job and canā€™t wait for it.

Regards

Hi, Great work Luca :slightly_smiling_face:

Is this by any chance possible?cloth
Itā€™s completely fine if it isnā€™t.

@JoseConseco, @cdog, unfortunately Blenderā€™s cloth simulator is not based on real world units, which would be difficult to change at this point. It is also density-dependent, meaning the properties change depending on the mesh density. For these reasons it is difficult to define standard values.

Also note that things like ā€œcottonā€ are extremely vague, as there are many factors influencing the fabric properties, other than just the fibre used. To mention a few things, think woven vs knitted, thread-count, thread-weight. Compare say a Jersey fabric typically used in t-shirts, with a heavy canvas for a grain sack for example. Even though both fabrics might be made of cotton, they will have vastly different behaviour. Of course all these different fabrics could be put into a table with all their properties, and become a useful reference, but I just wanted to highlight that this is more complex than it might seem, and that the usefulness of a preset system such as the one Blender used to have is extremely limited, if useful at all.

@lacilaci86, yes, there will be.

@marcoG_ita, no ETA at the moment. Iā€™m currently busy with other things.

@melvi, thanks. It is currently not strictly possible, though one could use Property Weights to make the red areas extremely stiff, which might work well enough in some cases. Though depending on how stiff it really has to be, and on the mesh density in the stiff area, many time steps might be required. I think the best (though convoluted) approach here would be to represent the red parts with basic shapes, like tetrahedral structures, which would be easy to make very stiff, and then drive the actual mesh with some vertex parenting trickery, perhaps combined with a surface deform.

presets need not be realistic,but very much needed to understand parameters ranges(say from silk to leather).for eg.,i raised tension,compression to 250, still cloth looks like nylon.(doesnā€™t become stiff).in ā€œModelling clothā€ addon the difference is clear,when stiffness is increased the folds look sharper(less curved)

How would one add thickness the cloth? I mean, it looks cool and everything in the viewport, but it has no thickness, so it wonā€™t look correct in the renderings or in real-time apps.

Solidify modifier with a subdiv after the sim?

@Remade, I donā€™t think presets would help with this, and they would inevitably lead people to mistake them for actual definitions of materials, which is not a risk I am willing to take. I think that with your example, you might be confusing tension/compression stiffness with bending stiffness. Try playing around with bending, and see what you get. Also, the Modelling Cloth addon doesnā€™t have a decoupled stiffness model, making it very limited in the materials it can represent, and in fact bending stiffness is included in its ā€œstiffnessā€ property, so I suspect that is what you might be talking about.

@motorsep, as @B-Rae said, a solidify modifier after the simulation is the way to go. Optionally with a subsurf after. I actually sometimes even use a solidify sandwiched between two level 1 subsurfs, rather than, for instance, using one level 2 subsurf after (to get sharper edges). Alternatively, you can use a flat cloth simulation to drive a detailed mesh by using a surface deform modifier. Your detailed mesh can then not only have thickness, but any added attributes, like pockets.

1 Like

great to see the clothsim receiving these improvements.

I agree that internal pressure is a feature thatā€™s really missing
the workarounds are not very intuitive to use.

Jarek D (DJ)

I used the new cloth sim for this. Itā€™s not a very complex pose, but it was nice to have reliable cloth. It took me awhile to figure out good ranges for all the parameters, but once I did it was easy to get stuff working. This is just the latest 2.79 build from this thread. Next Iā€™ll move to 2.8.

6 Likes

Sure the pose isnā€™t complicated, but itā€™s on a CHARACTER!!!
If itā€™s stable on a character, I want it. Cloth on characters is an absolute nightmare atm.

1 Like

Hereā€™s the topology I used. The Shirt and Belt are optimized deform objects that the detailed versions are Surface Deformed to. The Skirt, Tie, and Arm band didnā€™t need high detail, so they just have Solidify and Subsurf after the cloth sim.

The inner part of the shirtā€™s collar around the neck is pinned and controlled by the armature (the folded over part is not pinned.) The collar and the green stripe across the top of the shoulders and down the top of the sleeves (hard to see in this shot) are scaled to a much higher stiffness than the rest. The shirt behaved very well.

The arm band has 2 vertices on top of the arm pinned to the armature, mimicking a safety pin. I simmed it after the shirt, so its not actually effecting the shirt.

The skirt was more difficult because I didnā€™t retopologize it. Its from Marvelous Designer, and so has some funky topology. It still worked, but was more sensitive because of the pleats and self collision issues. Itā€™s hard to say how much of that is due to the topology, and how much the self collision. I simmed it before the shirt in this case, but I had done prior experiments where I baked both at the same time and didnā€™t have issues.

The belt on the skirt was an utter pain. If I simmed the skirt first and then the belt, the belt would ride up because the skirt expands a bit when it sims. If I simmed them at the same time and made both colliders, then it would have clipping problems. In the end this is what I did as I wanted it to constrain the skirt a bit, but then I gave the belt a massive amount of Corrective Smooth and fixed a few areas by hand after saving the cloth as a shape key.

The tie is pinned around the neck and simmed fine on its own. I used a bit of wind on it to match the hair, but the rest of the outfit I couldnā€™t get to behave well with the wind. I didnā€™t try to much, so maybe I just had the wrong settings. But I got fed up due to the issues with the skirt and belt.

I think this would work okay for animation if it wasnā€™t for the belt. If iā€™d been trying to animate this, I would have done the belt with bones or something and only simmed the part of the skirt below the belt.

I also noticed that if I made the skirt and belt the same object and used self collision, it behaved much better. But I needed them separate for Surface Deform of the detailed belt (I really wish Surface Deform had options for vertex groups on both the current and target objects!). So maybe I just had my settings wrong?

Overall it was a night and day difference vs old blender cloth. Of course MD would have handled it all easily, buuuut then I have to go through obnoxious import/export stuff. I think with more knowledge iā€™ll get better results. And of course this is still the 2.79 version, so it isnā€™t even complete.

One issue Iā€™ve run into is the annoying way that once you apply a cloth sim, it wipes all your settings. Iā€™m saving my sims as a shape key, but if I wanted to do another pose Iā€™d have to re-enter all my settings again! Presets helps with this, but Presets doesnā€™t do all the fields. Can it be made so that settings are saved even after applying cloth?

Thanks again Luca for all your hard work!

Another potential option for the belt is to give the ā€˜belt sectionā€™ of the skirt the same stiffness as the belt, then Surface Deform the belt proxy.
Not sure of the advantage of this over just pinning the belt to the character, though.

1 Like

Your link to this page is a dead end, https://developer.blender.org/T56596

I tried the new sim and it looks awesom. I do find that lots of settings are acting really different. Tried looking for info but havent found it yet. Is there some page with proper info?

One thing i find confusing is all those extra settings and giving them the exact same name under each property.

I also hate the current method of closing all other open panels. Normally the one which was open stayed open. But now they stuffed everything under a main ā€œClothā€ Panel so now all close??? So many settings now ask for more clicking compared to 2.79. I find this a couple steps back as how it was before. Together with i think more than 50% of the hotkeys which have been removed, i tend to find 2.80 that the workflow for hardcore users has been slowed down A L OT!

@rombout, thanks for the heads up, I fixed the link (issue was that the blender2.8 branch became master).
As for an explanation for the settings, yes writing new documentation is on my todo list.

@Ascalon, your finished character looks great! Glad the cloth worked.

I know this is a late reply, but Iā€™ll say this for future referenceā€¦ For the belt, the best options would probably be to pin it or surface deform it to the skirt. If simulation is really required, either do it after the skirt, or merge them into one mesh. Two cloth sims with collision modifiers cannot behave correctly with the current architecture. If you would join the meshes, the self collisions would take care of everything.

I had a similar challenge when doing the henchmen cloth sims for Agent 327. There I did it in layers, first simulating the trousers, then the robes, and then the belts. Outer layers of clothing usually donā€™t have much visible impact on the inner layers anyway, so simulating them from inner to outer is a valid workflow. Note that the henchmen belts were actually just animated with the character armature and pinned, except for the ā€œhanging portionsā€, which were simulated.

3 Likes

I have some of thoughts about cloth simulation:

  • Add ā€œSkip self-collision with neighbour verticesā€ option
    Input mesh quite likely has bad topology.
    With such mesh, you have to reduce collision distance and increase quality, and/or merge some vertices to earn edge length, but doing such things are way too time consuming.
    However "skip self-collision with neighbour vertices"option makes the simulator more tolerant with bad topology and reduces time of (pre)processing.

  • Property Weights should allow to have multiple weights and use them as additive.
    (ActualValue = BaseValue + Constant1 * Weight1 + Constant2 * Weight2 + ā€¦ and so on)
    This makes working with multiple physical materials easier.

  • Add ā€œCache Stepā€
    While particle simulation has this feature,
    why cloth simulation doesnā€™t have this?

1 Like

Im also glad i tested this early, i noticed presets wasnt working and saving nothing. I updated the code and added to my bugpost. I got fixed quite fast luckily. Thing was, it was not putting out an error when saving. But it actually saved hardly anything. Now since a couple revisions it does.