Softbody physics for clothes yet?
zigraphix
Posts: 2,787
Every now and then I check in to see if Carrara soft-body physics is working yet for clothing. I've seen lots of experiments, but also lots of skepticism. With the update to 8.5 just out and still on sale, I'm wondering again... is this a viable option yet?
If not, are there any plans to get this working for C9?
I'm particularly interested in knowing whether clothing that has been conformed to Genesis and has had morphs projected to it can be draped. That would be ideal, from my point of view.
Comments
Interesting question! I have seen reference to "improved soft body" in the 8.5 improvements somewhere, but in my tests, it is not really any more stable for draping clothes than it used to be. I couldn't get an item of clothing to stay on a moving figure for example. I tried adding a soft body modifier to a dress auto-fitted to Genesis and it did start to go through the calculations. As most modelled dresses will be reasonably high resolution, it will be a slow process and in the tests I tried, it poked through within 2-3 frames (I was just raising one leg as a test), but that may be something that could be sorted by adjusting parameters.
I don't do much with animations, so I don't mind waiting a minute or so for a good drape simulation-- the question is whether the results look good. :)
I'm afraid I could be talking an hour or so.... and I still haven't found the right formula to prevent poke through in the example I am trying.
Improved? Yes. Ideal for use with DAZ Content for clothing simulation? No. It is still Bullet, which means it still has Bullet's limitations, especially in poly count.
PhilW has definitely hit the most difficult part. Talking to a programmer that used to work for Optitex he let me in on a secret. Cloth isn't all that difficult to program, the physics and math is fairly well known. The difficult part is the settings.
So with Bullet, is the poly limitation because it was originally developed as a physics simulator for games? With Carrara, what was the idea behind including Bullet? Was it ultimately meant to try and be clothing sim?
So with Bullet, is the poly limitation because it was originally developed as a physics simulator for games? With Carrara, what was the idea behind including Bullet? Was it ultimately meant to try and be clothing sim?The poly limitation is because it was originally designed for games. It was and still is a big buzz word for Physics simulation but it gets unstable somewhere around 200,000 tris, which with Poser Content is a pretty low poly scene. The idea in Cararra was it is a better and significantly faster physics solver than the one that is in there and it does softbody physics as part of the math.
You can do clothing with it, as long as you remember its limitations but doing straight cloth using physics is one of the more complex things to master. So much so that most major studios don't use straight cloth simulation for CG, but a fake the simulation like in Messiah, or Apex Cloth. Even Optitex (in general, to include the DS plug-in) doesn't use straight cloth simulation, they use rigging to help control the drape.
You can do clothing with it, as long as you remember its limitations but doing straight cloth using physics is one of the more complex things to master. So much so that most major studios don't use straight cloth simulation for CG, but a fake the simulation like in Messiah, or Apex Cloth. Even Optitex (in general, to include the DS plug-in) doesn't use straight cloth simulation, they use rigging to help control the drape.
Spooky - thanks for the comprehensive reply. I suppose the solution will be similar to other characters, in that using a proxy will help both speed and stability of the simulation. Although Genesis is such a versatile figure, that providing a proxy that will suit most figures might be an issue!
Although I've seen that soft body is "improved", I have never seen any specifics. Is there something specific that has been done (or fixed), or is it just a general performance improvement?
You can do clothing with it, as long as you remember its limitations but doing straight cloth using physics is one of the more complex things to master. So much so that most major studios don't use straight cloth simulation for CG, but a fake the simulation like in Messiah, or Apex Cloth. Even Optitex (in general, to include the DS plug-in) doesn't use straight cloth simulation, they use rigging to help control the drape.
Spooky - thanks for the comprehensive reply. I suppose the solution will be similar to other characters, in that using a proxy will help both speed and stability of the simulation. Although Genesis is such a versatile figure, that providing a proxy that will suit most figures might be an issue!
Although I've seen that soft body is "improved", I have never seen any specifics. Is there something specific that has been done (or fixed), or is it just a general performance improvement?A Bullet Library update which fixed some of their instability improved speed, and a few other improvements.
For a proxie, a low poly conforming TriAx bodysuit, that has a little distance from Genesis, might be your best bet. You wouldn't need any significant weight mapping, just use Transfer Utility and save it as a wearable preset. Make Genesis not collide. :)
Oh yeah, I was overlooking that it will conform automatically to any Genesis shape - cool!
So yes, in principle clothes can be fitted to Genesis and then draped - I used a quick proxy I made in this which was basically Genesis with the head, hands and feet removed, saved as an OBJ and converted into clothing using the Transfer Utility in DAZ Studio. It is still pretty flakey though - you don't want to see the rear view! But it at least proves the point that it is somewhat possible.
Ok, that's helpful. Using a decimated bodysuit or similar would be a quite reasonable workaround, if that will help.
I can't help wondering... what is Poser using for cloth sim? Granted one has to start from T-pose, which I'd rather not do...
I honestly like DAZ Studio for the kind of work I do, but I'm getting exasperated with the lack of a flexible cloth simulator. That's why I keep checking in on Carrara. I like Genesis too much to want to switch to Poser, but if I could have full Genesis support (including AutoFit) and also have a cloth simulation, that would pretty much convince me to switch to Carrara.
(I admit I'd rather have a Bullet or other cloth sim plugin for DS, though... please don't beat me up, everyone has their favorite tools!)
Did you see the stuff Casual is making over here, its sort of cool for DS
Very cool (all his scripts are cool). Sort of the opposite of what I need right now, though. Genesis tends to shrink wrap clothes already. ;) I need something to help with skirts, kimono sleeves, etc.
Spooky - thanks for the comprehensive reply. I suppose the solution will be similar to other characters, in that using a proxy will help both speed and stability of the simulation. Although Genesis is such a versatile figure, that providing a proxy that will suit most figures might be an issue!
Although I've seen that soft body is "improved", I have never seen any specifics. Is there something specific that has been done (or fixed), or is it just a general performance improvement?A Bullet Library update which fixed some of their instability improved speed, and a few other improvements.
For a proxie, a low poly conforming TriAx bodysuit, that has a little distance from Genesis, might be your best bet. You wouldn't need any significant weight mapping, just use Transfer Utility and save it as a wearable preset. Make Genesis not collide. :)
Aha! The old threads reveal more and more clues nd puzzles.
Will it be possible to combine a low poly proxy suit with strategic softbody attach panels? Softbody attach panels to increase calculation speed for the bulk of the interactions along the torso and limbs, and the proxy suit for the joints?
Such a pity Daz_Spooky no longer pops in here - possibly he could give some guidance on why Bullett in Blender works perfectly well with a Daz figure exported from DS as .dae.
Excellent find for these older posts, I never realized what a wealth of info there is on the older forum. I'm not sure if understand what you're describing here though, it seems like it surely could work just fine, but we would still be talking about all as part of the same vertex object, so that it can have self collisions unchecked, right?
Has anyone seen him lately? I haven't seen any posts from him in a long time now. I definitely miss his posts, they were always very informative.
Excellent find for these older posts, I never realized what a wealth of info there is on the older forum. I'm not sure if understand what you're describing here though, it seems like it surely could work just fine, but we would still be talking about all as part of the same vertex object, so that it can have self collisions unchecked, right?
You are right in general, but I am just brainstorming considering joints like shoulders. DazSpooky's information leads me to believe that there might be some efficiency gain from having softbody interaction with a proxy rather than genesis or V4/M4, even if that doesn't solve all problems. So, could joint issues such as shoulders be best addressed by making a gap between the underarmor of the collar and the shoulder panels, but then have a proxy mesh substitute for V4 (or whatever) at the ball of the shoulder?
It might be a blind alley, but I thought it would be worthwhile to look through some of these older posts when people were discussing settings when the softbody physics engine was first released.
My guess, since I don't use Blender, is an even newer library for Bullet. It has, after all, been a couple of years.
Good to see you back here, Daz_Spooky:)
Any possibility of a quick update on just where were are with Bullett - or an alternate cloth sim - what the issues are, possible workarounds and whether the guys are on the right track with underarmour, or possibly rather explore other options?
Rashad (and Spooky, and all others who are curious), Carrara softbody physics can do quite well at emulating cloth. I'm guessing all cloth is derived from softbody physics, though not all softbody has to be cloth (I'm thinking of stuff like jello for example), I think it's all in the settings chosen as to what it will look like.
The problem up til now is that while you could drape cloth on a static figure, in animation there would be pokethru and collisions and other pandemonium. Stringtheory came up with a method that works quite well to overcome this (looks like historicaly Marcus Severus also arrived at a similar workaround) which Diomede has very eloquently explained above. To put pictures to the explanation, you basically have to turn off all collisions on your actual character and then use an invisible conforming softbody vertex object that conforms to the shape of the character's body and is soft attached to the character to move with it's bones. Here's an example of what we've loosely been terming the 'undersuit' with visibility enabled so you can see it (it's the red part):
This isn't a great rig, or even a very good one, and it's only covering the lower part of the body, but the idea is that this invisible undersuit which is a soft body, is the only part of the scene the collides with the actual cloth softbody. It works well, here's one of my earlier tests as an example:
There are positives and negatives to this approach though, and in the other thread there are several of us trying to play around with settings to try to find what works best to look like actual cloth.
Negatives (imho):
- It takes some time to setup a vertex invisible undersuit the first tie, though once created it's easy enough to model in the assembly room and make it so that it covers your character correctly, regardless of whether any particular character has bigger or smaller dimensions, body parts, etc. Eventually if we find a good enough rig, we may be able to just put it out there for the community to use, which would ameliorate some of this.
- Currently we're still testing and refining to try to find the right settings for the cloth look.
- You can use self-collisions on the cloth, but that makes it less stable. In many circumstances self-collisions don't appear to matter much, but if you really need a lot of wrinkles and folds in your cloth then I think self-collisions are a must, and be aware that currently with self-collisions enabled the simulations are less stable.
- Joints are difficult to find a rigging solution for, hopefully we'll find a solution, but even just the knees where the thighs and shins meet (which is what I've been concentrating on) is difficult to find a universal solution. Others have reported similar problems in how to rig the shoulders, and I'm sure elbows will be the same. Glutes actually seem to work pretty well just as extension of the thigh bone, better that I would have thought.
- Will likely have to run multiple cloth sims to zero in on the correct/best settings for any particular clothing item.
Positives (imho):
- Can now set up and have dynamic cloth emulation directly in Carrara, no need to export/import/etc to another program.
- The bullet cloth sims are actually very fast, nearly realtime frame by frame. In some animations if the character is moving quickly, the vertexes can 'outrun' their own field of effect causing mesh shredding or explosions. We can increase scene physics accuracy for example from 100% to 300% to increase the number of calculations per frame to make it more stable, this will slow the simulation down some, but still the simulation is remarkably fast. I've also been changing the frames per second up to 60 fps to run the cloth sim, then turning it down again for the actual render, in another attempt to 'slow down' the movement of the vertexes from frame to frame. Seems to be working well.
- Anyone can do this. I say that because I'm kind of inept at this kind of thing, but thanks to following the step-by-steps Diomede was kind enough to give when he was testing, as well as the notes of many others, I was able to do this. If I can do it, then that's the real test, and means literally anyone can.
Spooky, there are a few sliders in the Bullet softbody menu that don't appear to be connected or have any effect. I'm thinking stuff like drag and lift could be very useful in getting the right looks for different cloth types, not sure whether you have any pull for this kind of thing but would love to have some of them maybe reconnected in the next beta? I figure it can't hurt to ask :)
We're still trying to puzzle out exactly what Bullet needs to be more stable, but you can see even from my poor example above this is a workable solution, even if not perfect. And there are many other test animations others have done that are better than mine over in the thread Stringtheory started.