PDA

View Full Version : TIPS AND TRICKS: Cloth FX(Tell us your Cloth Simulation tricks with STANDARD LW)


RobertoOrtiz
10-10-2004, 03:00 PM
Ok I want to start a series of threads where tips and tricks for the use of Lightwave can be share. One area that always has been quite tricky is Cloth simulation.

I would love to hear your methods using cloth with your characters using STANDARD Lightwave.

I only have two rules for the thread:

*NO WHINNING
Lets keep the thread instructive.

*STAY ON TOPIC ( I MEAN IT)
As a user of third party solutions for this problem (like Syflex (http://www.syflex.biz)) . But the topic of this thread is for a LW only solution.

Looking forward to your comments.

-R

scotttygett
10-11-2004, 01:22 AM
Although I haven't tried cloth with other software in three or four years, back then, it was all buggy. Nobody had a cloth system that was reliable. Even the better-known names.

I rig for animating cloth, then see if there's time for dynamic.

I'm inclined to lean toward using the main skeleton of a figure, the one with fingers, and adding bones to approximate cloth deformation needs, like a robe cuff that dangles how it wants to, and might even require a weight map. I use the main level for the apparel.

"Use bones from" may be used for weight maps, since each level (I just learned) can have a completely different meaning for "shoulder anchor," so that the cloth level can have a weight map of the whole object, or a different region. (1,001 TnT includes some great tips on weight mapping.)

Another tip to share for imitating a dynamic feel, is that it's often possible to have extra bones overlapping key areas. I was surprised to learn that if I cranked a limited region bone (same min and max) down to 7%, and had the overlapped bones weight-mapped but un-normalized, I could get pretty good deformation overlap. (This assumes one has a character where every point has been assigned a unique weight map.)

Also, as Splinegod has shared, displacement maps (sometimes in combination with weight maps) can give good results for endomorphs that can be saved and then be polished in modeller.

Well, it's a start:...

The following links seem useful:

http://www.cgtalk.com/showthread.php?t=174099

http://www.cgtalk.com/showthread.php?t=151928&page=1&highlight=soft+body+dynamics

http://www.cgtalk.com/showthread.php?t=126753&highlight=soft+body+dynamics

http://www.cgtalk.com/showthread.php?t=147677&highlight=soft+body+dynamics

Mike Pauza
10-11-2004, 02:34 PM
If you want to get into ClothFX I suggest this dvd (will be out soon):
http://www.kurvstudios.com/lightwave/dynamics.php

-Mike

qwertykd
10-11-2004, 06:41 PM
i dunno if this is an all-in-one solution, but ive found that the FX metalink is awesome in conjunction with low-poly proxys for cloth simulation... Not even low poly necessarily, but rather a more functional, simulate-able version of the cloth model you are trying to animate. It would seem to me like its alot faster, and even practical to do for some modeled clothing types. especially when you are working with clothing that has "thickness" or having a polygon layer going back on itself to give the cloth actual depth. When u use clothfx on it, the self-collision would have to be on so that the cloth wouldnt go through itself or whatever, but when doing a single-poly thickness proxy then using fx metalink, it deforms as if it were a flat piece of clothing, instead of trying to pass through itself. Well, those are my thoughts anyway...

Carm3D
10-11-2004, 07:54 PM
I did something pretty cool with ClothFX recently. I wanted a naturally bouncing breast, but it kept collapsing. So I made a small, low-poly tesselated ball to act as an "implant" and connected the points of this ball to the breast's polys via 2-point polygons. I made a weightmap for sub-structure where the implant had 100% of the weight and the breast skin had 50% or so. In Layout I cranked the substructure up really high (6000? Can't recall) so the implant would retain it's shape. I think I also applied it this way for weight. Oh I also created a few 2-point polys to attatch the implant to the chest wall behind the breast (other end of these 2-point polys were fixed.

This was all done with a low-poly meta-object and I used FXMetaLink or whatever it's called to have this drive the high-rez model. Worked pretty well!

scotttygett
10-12-2004, 12:50 AM
Hey Carm3D:

Do you have any input on what you think is happening at the calculation level?

I seem to have read a couple of MD threads where people made fairly complicated MD-models, then discovered that the same effect was possible with even less complicated geometry. I wonder whether a couple of knifed sections of a lego-like plane might not have the same effect.

Plus, I wonder if a reader isn't going to get stuck at "implants" and not catch the gist.

What do hidden boxes/balls do, calculation-wise?

What do 2-point polychains actually do in MD/ClothFX?

I've seen at least one demonstration of MD2000 where a mass of geometry used a substituted flat plane as proxy, and the effect was almost identical to heavy subdivision, nothing collapsed.

Carm3D
10-12-2004, 02:10 AM
> Do you have any input on what you think is happening at the calculation level?

I am sorry I do not understand the nature of this question.

> I seem to have read a couple of MD threads where people made fairly complicated
> MD-models, then discovered that the same effect was possible with even less
> complicated geometry. I wonder whether a couple of knifed sections of a lego-like
> plane might not have the same effect.

Yes this project was my first time using FXMetaLink (using a simple model to drive a complex one), and I will never, ever go back to the old way. It's like using dozens and dozens of muscle bones without having to set up one muscle bone. It's also faster to animate with. I love it.

> Plus, I wonder if a reader isn't going to get stuck at "implants" and not catch the gist.

If they have a hang-up about the subject matter that I am not going to lose any sleep over it.

> What do 2-point polychains actually do in MD/ClothFX?

Technically this is not a "chain." A chain would infer the 2-point polys are connected end-to-end. This is using a network of 2-point polys to connect one set of geometry with another. Kind of like bed-springs or a suspension bridge. They very much behave like springs.

> I've seen at least one demonstration of MD2000 where a mass of
> geometry used a substituted flat plane as proxy, and the effect was almost
> identical to heavy subdivision, nothing collapsed.

Yeah that would work too.. For my purposes I need a bit more "control" than a flat plane would afford.

stompbox
10-13-2004, 12:02 PM
especially when you are working with clothing that has "thickness" or having a polygon layer going back on itself to give the cloth actual depth. When u use clothfx on it, the self-collision would have to be on so that the cloth wouldnt go through itself or whatever, but when doing a single-poly thickness proxy then using fx metalink, it deforms as if it were a flat piece of clothing, instead of trying to pass through itself. Well, those are my thoughts anyway...
Have you done this with satisfying results? I have been trying this method recently and have found the inner surface spears throug the outer layer of polys on a tshirt around the shoulder join on the shirt and on the cuffs.

If you have had more satisfying results I would be really interested to know how! After a week of struggling with it I am finding working with LW clothFX a very frustrating exercise.

adrencg
10-13-2004, 01:48 PM
Have you done this with satisfying results? I have been trying this method recently and have found the inner surface spears throug the outer layer of polys on a tshirt around the shoulder join on the shirt and on the cuffs.

If you have had more satisfying results I would be really interested to know how! After a week of struggling with it I am finding working with LW clothFX a very frustrating exercise.
Get Cohen's FastCloth plugin. It creates a poly line cage out of your model which will calculate like a dream. Use FX_metalink to apply the motion to the original object. I use it for hair and it works so nice, with no ClothFX freezes.

It also creates polyline spikes which stick out of the object to make it retain its shape, but this is only need for clothes and such. If you need freely swinging objects such as hair or capes, just delete the "spikes". I don't know what the secret is, but a polyline cage of your original not only calcs faster, but also is much cleaner and more accurate.

Mike

scotttygett
10-13-2004, 04:45 PM
Here is my limityed understanding of what cloth FX should do, if I were to build one from the ground up.

Books on so-called "Statics and Dynamics" have been written since Gutenberg, though the Chataqua movement about 1900 freed up a lot of literature that was in guild hands. It's the physics of architetcture, though the experts will tell you that a structure like a bridge is designed using dynamics, not statics.

If ball A hits ball B, from x angle, it goes in y direction and lends x amount of its speed to the ball B...

If hinge a has x friction, y amount of force is needed to move it..

Now, if I were to make a Cloth FX program, I would have the program first calculate collisions, since friction gravity and collision is going to give me a staring point for calculating a hinge/lever interaction.

Then I look for points around it and startpivotting points, based on their angle in relation to the point, still under the force of gravity (while looking for collisions first), and then adding the elastic modulus (I think that's the term...) which says how much give and elasticity their is, to the calculation. That's also going to feed some numbers back in the other direction, pulling back toward the originating collision-point/pivot.

And on to the next calculation.

Where a bunch of points collide, like a sheet hitting a table, the friction calculation is going to be responsible for whether the pulling from the elastic cloth and continuing gravity are going to let the sheet stay or fall off.

The cloth in LightWave has a bunch of other properties, but that seems to be the gist.

I think I noticed that LightWave does a proxy creation before doing the calculation, but I could be wrong. A prxy creation sounds lke a good thing.

As for the math, it would be cool if something like calculus were being used, or the equivalent in math tables, since computers can halve a category a dozen times lickety split. That one might gobble a peck of RAM hough. I'm just now learning to always purge old files and defrag even before opening LightWave if I want any performance.

One ownders if there aen't going to be typical dynamic contrtions that could be fit to an object, instead of doing point calculations. Shapre tables that could have typical operations like stretching applied to them to approximate a given shape-collision pair. Then build on that math, then test it once against some random points in the bckground. All in the blink of an eye. Ain't computers grand...

CGTalk Moderation
01-19-2006, 12:00 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.