Adding to Cart…
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2024 Daz Productions Inc. All Rights Reserved.You currently have no notifications.
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2024 Daz Productions Inc. All Rights Reserved.
Comments
I should also add, that that is one of the more impressive demonstrations I have seen. Great work!
Hi Stringtheory,
I had to go out but have now applied your suggested settings and run a quick test. It worked!
My test is crude, the garment is only a test-piece. It suffers especially from being much longer at the sides when it drapes because it's an oval shape when seen from above. But the two shots are showing no poke-through. They are stills from a continuous 4 second simulation, so the figure is moving smoothly from one pose to the next.
For what it may be worth, the first thing I do when applying a soft body modifier to an object is reduce the stiffness to about 22% and the folding to zero, then I tick for self-collision. After that I adjust stiffness back and forward. But I generally have left the settings you suggested alone. Somehow I've managed to bypass them mostly. Until now!
Evilproducer, I'm hoping that the visibility of the inner collision core won't be too much of a problem. The OP mentioned something about shading regions (not the correct term) being a problem I think. What I think needs to be experimented with first is how many soft-body-attach modifiers can be applied to one object. If the base figure is going to have collision turned off then it will need to be clad with a mesh divided into many soft-body-attach regions broadly corresponding to the skeleton.
I think stringtheory will have more late nights but everyone will benefit I hope!
I'm glad to hear that worked. I went back and looked at that thread you mentioned. You HAVE done some serious experimenting! In fact I came across your 3 part tutorial a while back while researching cloth physics on YouTube and I think it was part 2 that lead me to begin dropping physics based objects onto a soft body plane with the corners soft body attached. I remember being really surprised that I could up gravity and it was almost impossible to rip through a soft body with another physics based object. That made me realize how solid the bullet physics was as long as no keyframed object was involved. I burned many hours building armor type shells and trying to keep them from flying off my avatar. Eventually that lead to turning them into cloth and attaching them to my avatar. You did almost the same thing on page 4 of your thread!
Thanks evilproducer!
To answer your question regarding shading domains, it appears that my first attempts at chopping up the V4 bodysuit and creating named vertices was flawed and was preventing those named vertices from being selected in the soft body attach room. When I removed all of the shading domains it worked leading to my earlier conclusion. I tested the same scenario with the inner grid mesh that I'm working on and adding shading domains did not impact my ability to select the vertices by name. So it appears that shading domains are not an issue and the inner mesh can easily be made invisible.
Hi Stringtheory9,
Thanks for your comments. When I was posting on the old thread I was embarrassed to do so because I felt I was sounding like a tutor when I was anything but. Also, my videos were put together from such low-quality trial clips without any sound that I didn't dare allow the public to post comments. I've been meaning to take them down for a long time!
But, yes, by the end I WAS actually convinced that Carrara has a fantastic ability to create physics clothing which drapes extremely well on posed figures. The animation part was where I failed.
I think that the silky cloth effect that Carrara can produce rivals anything in other software.
The nice thing about physics drapes is that the clothing just needs to be made so that it loosely approximates a decent fit. Gravity does the rest and introduces realistic folds and creases which follow the shape of the body underneath.
Where bought content is used, the effects are sometimes more limited (it seems to me). Probably because bought clothing has been made to measure already. (EDIT I'm referring to ordinary clothing which wasn't intended to be used in simulations - no offence to PA's I hope).
The whole notion of attaching shells to limbs was one I borrowed from Iclone's physics. Some of my findings about this technique were never shown on the forum because the method I came up with was becoming more and more bizarre and I started to think more along the lines of static physics drapes being converted to morph targets. There was some scope for animating in this way but it was way too cumbersome and would have excluded leaps and twirls (and who among us doesn't leap and twirl on a daily basis?)
Your discovery of making the collision mesh part of the clothing itself is a great breakthrough, I think.
Also your use of named vertex groups is a great help. Painting a selection of vertices in the VM is a lot easier than in the soft-body-attach editor. All credit to the developers for including that button in the editor.
I'm just logging in to post this then I must be gone again!
Regards to all.
Thanks evilproducer!
To answer your question regarding shading domains, it appears that my first attempts at chopping up the V4 bodysuit and creating named vertices was flawed and was preventing those named vertices from being selected in the soft body attach room. When I removed all of the shading domains it worked leading to my earlier conclusion. I tested the same scenario with the inner grid mesh that I'm working on and adding shading domains did not impact my ability to select the vertices by name. So it appears that shading domains are not an issue and the inner mesh can easily be made invisible.
Kaching!!!!!
woohoo.
And thanks to you as well. Trailblazers. Take a bow, you two.
I second that! One of these decades I will be able to afford to update my hardware and software to actually be able to do some of this stuff.
So, awesome new development...
After watching a video that Marcus Severus posted on an old thread, I decided to try split the outer mesh and the inner mesh into two separate vertex objects again. My earlier attempts didn't work very well but I suspect that was due to the skin cloth mesh being too complex (and the not yet refined cloth settings). Using the the new low poly mesh and the cloth settings from my last video example it worked perfectly. I used the same cloth settings for both vertex objects but I think having the freedom to adjust them separately will be quite beneficial.
So the goal now is perfecting a low poly "skin cloth mesh" with all the bone nodes soft attached. Then we should be able to simply import any not-to-complex piece of clothing into the scene, add the soft cloth modifier and run the simulation. :-)
I still don't get it....
My initial post stated that the clothing mesh and the inner skin cloth mesh both needed to be in the same vertex object. This added a level of complexity as they could not be turned on and off independently. It also meant that working on either the skin mesh or the clothing layer mesh required working around the other one and adding the clothing layer required the object to be pasted into the existing skin cloth mesh. With them being in two separate objects this is no longer the case.
Thanks. But I still don't get the overall purpose for the technique. Is it that you've found a workaround for DAZ's disabling the "collision with moving objects" calculations for dynamic cloth? If so, I'm not sure I understand how you worked around that.
The technique involves removing keyframed objects (non physics based movement) from the equation. This is done by using a mesh that hugs the avatars mesh which then has a soft body modifier added which is then soft-body-attached to the actual avatar mesh. This layer of soft body acts as a proxy for the real avatar surface but instead of being a keyframed object it is a physics based object that is moving in sync with the avatar. The movement of the avatars mesh is transferred into the physics world by means of the soft body attachment. In a sense that is the workaround. This way the mesh that is being used for the clothing does not touch the actual avatar mesh but instead touches the proxy mesh. As such all of the cloth interaction remains purely in the bullet physics realm and the cloth animates and behaves the way we would expect. It also speeds up simulation time by a factor of about 10.
The technique involves removing keyframed objects (non physics based movement) from the equation. This is done by using a mesh that hugs the avatars mesh which then has a soft cloth modifier added which is then soft-body-attached to the actual avatar mesh. This layer of soft cloth acts as a proxy for the real avatar surface but instead of being a keyframed object it is a physics based object that is moving in sync with the avatar. The movement of the avatars mesh is transferred into the physics world by means of the soft body attachment. In a sense that is the workaround. This way the mesh that is being used for the clothing does not touch the actual avatar mesh but instead touches the proxy mesh. As such all of the cloth interaction remains purely in the bullet physics realm and the cloth animates and behaves the way we would expect. It also speeds up simulation time by a factor of about 10.
I kind of understood what you were working at but this explanation makes it even clearer now. Makes a lot of sense, the question though is why the developers behind Carrara haven't simply just implemented something like this for dynamic clothing. Thanks to you and everyone else for the time you're taking to work this out, and for sharing!
I kind of understood what you were working at but this explanation makes it even clearer now. Makes a lot of sense, the question though is why the developers behind Carrara haven't simply just implemented something like this for dynamic clothing. Thanks to you and everyone else for the time you're taking to work this out, and for sharing!
And if the developers can see what worked there is an outside chance that they may be able to natively incorperate it into the C9 version to make it easier for everyone.
I kind of understood what you were working at but this explanation makes it even clearer now. Makes a lot of sense, the question though is why the developers behind Carrara haven't simply just implemented something like this for dynamic clothing. Thanks to you and everyone else for the time you're taking to work this out, and for sharing!
Good questions.
Bullet Physics is a free open-source code library (a very good one) that Daz chose to integrate into Carrara. In my opinion they did, for the most part, an excellent job. This integration would have been a massive undertaking as there are now 2 code bases controlling geometry.
They had to make existing code libraries play nice with the Bullet library in a few different areas. These being gravity, dynamic forces, and mesh objects. They nailed gravity and dynamic forces such as wind. They also nailed static mesh objects however if you think about moving keyframed mesh objects in regards to soft bodies there are now two completely different code libraries involved that both need to influence the mesh in a very precise manner. It is this interfacing between the two systems that I would imagine was the most complex part of the integration. If Bullet was to fully control the avatar mesh then morphs and keyframing would not be possible.
Daz did implement the interface between moving keyframed mesh objects and objects controlled by Bullet; which actually give pretty decent results if you crank the simulation accuracy up to 1000% but that is not at all practical. I'm assuming at this point all of the calculations between both systems are being performed in full. At lower simulation accuracies they are only doing a partial set of calculations which is why dynamic clothing doesn't meet our expectations.
I don't know what the fix would be to getting dynamic clothing working efficiently in a truly systemic manner.
They could implement a system that creates a 'ghost' mesh copy of the avatar that then soft body attaches to the avatar. I would imagine that it would work better (and be easier to implement) than anything we can come up with; but in a software sense it would still be a bandaid kind of workaround.
Sorry, I must be extra stupid today, but I still don't get it...
As I recall, until the most recent version of Carrara, collision between Bullet cloth and moving "avatars" as you call them (moving objects) was working fine. So I'm not only confused about why they disabled it, but I'm also confused about why or how your technique is supposed to fix that.
Obviously I can't test this Joe, as I don't have access to bullet physics, but as I understand it, the under-clothes or proxy clothes are soft bodies attached to the bone group of the figure and the rigged model is set not to collide with the attached soft body. This allows the attached soft body object to move with the bone without physics calculations. The over-clothes are set to collide with the physics under-clothes which is a physics calculation and not a key-framed object. It's a bit convoluted sounding, but after watching the example videos, it looks really promising.
If I am understanding the concept wrong, Stringtheory, then please correct me as I don't wish to muddy the waters further.
My experience with Carrara (and 3D software) starts with version 8.5 so I was completely unaware that previous versions had better soft body collision capabilities so my bad for any confusion that I may have caused. I won't try and guess why the current version no longer works the same as I have no way of comparing the difference between the two.
I'm not really trying to fix anything. All I'm doing is figuring out a way to achieve what I want to do within the confines of the toolset I currently have at my disposal.
@evilproducer, yes that is a very good description of the concept. Thanks :-)
Daz did not disable anything that I am aware of. Daz introduced soft body physics. Some things worked well. Other things did not. Soft body attach worked relatively well (such as attaching a set of vertexes to a flagpole and then keyframing the flagpole). SELF-collision worked relatively well, such as one part of a soft body object colliding with another part of the same soft body object (think folds in a waving flag that has been attached to a flag pole). But what was really going on was self collision was just one example of a soft body object interacting with another soft body object. The challenge then became to find a way to keyframe a soft-body envelope around a moving figure, and the answer to that is soft body attach to moving bones. The obstacle was that "hard body physics" of the previous versions of Carrara you refer to would not work in this way. Repeat, hard body physicis s not disabled - it simply does not work seamlessly with softbody physics.
What Stringtheory and Marcus Severus have done is identify a way to create an envelope around a hard body figure, with parts of the envelope softbody attached to the figure's bones, so that when the bones are keyframed, the soft body attached parts move, and the non-soft body attached parts collide with a moving soft body envelope.
If you don't follow that, which is very understandable because it is very convoluted, I highly recommend you try it and post a screenshot. Repeat, it may not make any sense unless you try it, and it is unlikely that it can be explained further without a screenshot to identify where you are no longer following the instructions.
Again great job Stringtheory and Marcus Severus. I hope to replicate your work this weekend when I have a decent chunk of time.
I made a rough demo to visualize what is going on. The red bands around the thigh are soft body attached to the thigh bone. V4 has collision turned off. The skirt is soft body attached around the hip. The only other thing making contact with the skirt are the red bands around the left thigh (thus the poke through in this demo). This simulation took 2 minutes to calculate on my 2007 iMac.
So, if you had a solid sleeve, you could eliminate the poke through? You could also make the sleeve invisible by adding a shader to it with an alpha channel, thus hiding it? Are the sleeve and mesh part of the same vertex object or separate? If they are different, is there any reason you couldn't toggle off the visibility of the sleeve after the simulation has been run?
They are two separate vertex objects (see below). I left the bands visible for purposes of this demo but they absolutely can be hidden once the simulation has been run. And yes if the red bands were solid and covering the entire mesh section that is influenced by that bone it would eliminate the poke through; I was just experimenting,
They are two separate vertex objects (see below). I left the bands visible for purposes of this demo but they absolutely can be turned off once the simulation has been run. And yes if the red bands were solid and covering the entire mesh section that is influenced by that bone it would eliminate the poke through; I was just experimenting,
It's something I hope to experiment with in the future, so even though I can't use it now, I still try and follow along.
Okay, thanks everyone for the detailed explanation for the dumb guy... :)
I think I finally understand it. The underclothes are softbodies "attached" to the rigged character, and the skirt in the example is colliding via softbody collision with those underclothes. What was stumping me was trying to figure how the underclothes could be made to collide with the skirt using self collision since the underclothes are a different object, and "self" wouldn't apply. Also the underclothes would, as softbodies, be wiggling around during the motion so you wouldn't get a nice clean collision as you would with a rigid, yet moving, character. I'm still not totally clear on all of that, but it seems like it's a brilliant, yet unfortunately necessarily tedious solution to what DAZ should have re-connected long ago. I recall being fairly impressed with the cloth collision with keyframed characters back when it was working.
BTW, I'm convinced that DAZ, probably with good reason since its Bullet implementation is still very much in beta stage, has disconnected some functionality in the Bullet physics involving cloth. Some of the parameter sliders have absolutely no effect whatsoever, and some come and go with different releases. As I recall, Gravity is one of those (is that the name???), and there are at least a few more. And at least one of them only affects rigid body collisions as I recall, but some here actually suggest setting it for cloth collisions since there's no real documentation and most of us are just guessing.
Do you mean the default scene gravity in the scene's Physics tab Joe, or is there a separate setting for the bullet engine?
You are correct that the underclothes are subject to wiggling. It took quite a bit of trial and error to find a solution to this. In my first post at the beginning of the this thread you can see the underclothes at the wrist looks like a mini mountain range (in the video). The key was to use large polygons and to drop the collision margin down to around 30. Below that poke through starts becoming an issue and above that the underclothes mesh starts distorting.
I think what has lead to some confusion is that originally I was thinking that both the underclothes and the skirt had to be part of the same vertex object. This is why there was discussion about self collision. After I began refining the settings I discovered that they do not need to be part of the same object. In fact each bone can have a separate vertex object undercloth which is great because one underclothes rig can be created and then the unnecessary objects (like the arms undercloth) can be hidden if only a skirt is being animated.
These settings have worked the best for me so far. All values not mentioned are at 0. These settings are for the under cloth. I am still experimenting with the clothing settings.
Soft Body
Stiffness 80%
Bending 5%
Self collision: on
Margin: Checked and set to 30%
Quality: 10%
Scene Physics
Simulation Accuracy: 300% is the minimum I set this at.
Geometric Fidelity: 100%
No, it was actually the Density slider used to simulate the density/weight of cloth objects. At one point it was disconnected and had no effect on the simulation. Can't recall if it's still that way in the beta. The Gravity setting was fine, and I used it occasionally as a workaround for the disconnected Density slider.
Also Pressure has been disconnected for a long time.
Oh, yeah...Geometric Fidelity...I think that's the one that is only used for rigid body solutions, not soft or cloth solutions. But it's been a while since I played with it.