Cloth Simulation, Part 03: Reference: Cloth Tag, Cloth Collider Tag, Cloth Object, Cloth Belt Tag

Photo of Donovan Keith

Instructor Donovan Keith

Share this video
  • Duration: 19:28
  • Views: 11890
  • Made with Release: 16
  • Works with Release: 16 and greater

A description of the key features and settings of the Cloth Tag, Cloth Collider Tag, and Cloth Object.

This video contains an in-depth description of the Cloth Tag, Cloth Collider Tag, and Cloth Object. You’ll see animated examples of the effects of different parameters and how they relate to each other. Topics include:

Cloth Object:
Factor, Thickness, Limit, Parallel

Cloth Tag:
Iterations, Stiffness, Flexion, Rubber, Bounce, Friction, Mass, Tear, Gravity, Drag, Wind Direction, Wind Strength, Turbulence Speed, Turbulence Strength, Air Resistance, Self Repulsion, Dresser, Init State, Dress State, Fix Points, Seam Polys, Cache Mode, Calculate Cash, Sub Sampling, Self Collision



If you're just getting started with Cinema 4D's Cloth System, you may find all of the parameters in the Cloth Tag a little bit overwhelming and that might be compounded by the fact that when you press play after you've changed the setting, it just takes so long for your calculation to occur. Well in this video, I hope to demystify some of these settings and save you a ton of time by giving you some healthy ranges to choose for your values, and also warn you about any interactions between different parameters that you might not anticipate. But before I go into all of that, I wanna show you probably the most important thing about the Cloth System, which is that it's in the help file. So if you right-click on any of the parameters in your Cloth Tag, you can choose show help and you're gonna get a description of that parameter, a few images showing you differences in that parameter and what occurs with those differences, and basically just some guidelines for how to move forward. So if you ever get stuck on a project, probably consult that before you play this video again because that'll be a little bit quicker. That having been said, I wanna cover all of the settings in our Cloth Tag, and I also wanna cover a bit about the Cloth Collider Tag as well as the Cloth Object and what all those do. We'll start with the ClothTag. So, to begin, what I've done is I've created a number of different simulations, using different parameters and the parameter that I'm changing is the name that you see and I've- I've got each of these assigned to a different layer comp, using the CV Layer comp's plugin, so I'm cycling through these and we'll be able to see the effects of different parameters in different animations. Now, the first thing that I've changed is segments. Now, this isn't a property of the cloth tag, it's a property of the plain object. This is the number of polygons really, that we're seeing in our plane. So if I press play, we see that when we have 10 segments over there on the left, our cloth is very chunky. It seems to be more affected by the air. It's slower to fall and then if you go all the way over to the right, where we have 100 segments, the cloth has lots of really small and minor folds, and it is falling a bit more quickly. That's, I believe, because each and every one of the points in your cloth surface, in your polygon you've got your Cloth Tag on, each of those has sort of a mass and an energy. And the more of them you have, the more, sort of, total energy you have in your system and the more effect you're gonna be able to have with the cloth itself. It's less impacted by the air and things along those lines. Now, the visual difference between 100 and 10 is clear, but the visual difference between 100 and 70 and 100 and 40 is less clear. So, my general rule of thumb is to raise my segments as high as I need to to get the amount of wrinkles that I need, but no higher than that. So, if you want a really silky cloth, you're gonna need a lot of segments. If you want to have something more along the lines of cardboard or leather, or- or burlap, you can get away with fewer segments, cause you're gonna have fewer fine wrinkles. Okay, so that's the effect of changing the number of segments in your plane. Next up on the list is Iterations. Iterations in your Cloth Tag here, sort of acts as a multiplier for all of the settings below. So on any given frame of our animation, our object is going to try and figure out if there are any intersections, if our cloth is stretching-- anything along those lines. And the higher that we crank up the iterations, the more stiff our cloth it's going to be, or really, the more any of these parameters we've selected it's going to be. And in this case, I've got a fairly high-stiffness cloth so with 100 iterations, we've got a really stiff piece of cloth and with something like one iteration, it's very sort of soft, but the shape has been distorted. So, the higher the number of iterations, the more closely it hems to, let's call an accurate calculation, and the lower the number, a little more loosey-goosey is the end result. In general, I don't use fewer than 10 iterations and I sometimes just really have to crank that value up, especially in situations where you've got a whole lot of energy pulling on your cloth. Next up is Flexion and flexion refers to whether or not your cloth is sort of stiff. It's the higher this number, the more it resists bending away from its original, a flexion value of zero is a very soft piece of cloth, but it's gonna be likely to self-collide, and a flexion value of 100%, or one as we've got indicated right here, is gonna try and maintain its shape pretty well and it's gonna look more stiff. It's gonna look maybe like plastic sheeting as opposed to cloth. I generally try and keep this value close to zero, maybe five or 10, so that my cloth will easily change shape, but it's gonna be less likely to collide with itself. Next up we've got the Rubber setting and I would be hard-pressed to find a situation where I would actually wanna use this, but basically, the higher your rubber value is, the more your cloth is going to distort in shape as it animates. A rubber value of zero gives you something that looks a lot like cloth and a rubber value of one looks like an object that's sort of magically changing its surface area. So in general, I leave this value at zero, but feel free to play around. Next up is the Bounce setting and it's not gonna be totally clear in this particular simulation what's going on, but bounce really refers to how much energy the cloth receives when it runs into a surface. With a bounce value of zero, when your cloth hits a surface, it doesn't bounce back up. When it's got a value of one, there's at least some likelihood that it's gonna bounce back up. We're not really seeing it in this simulation. In general, I find that I keep that value very low, maybe around 5%, so that if the cloth runs into itself, it doesn't stay stuck to itself, but not so high that it appears rubbery. So again, I'm keeping that around 5% typically, and these values here are as in 100, not just the number one. Okay. Next up is the Friction setting and again, not totally clear in this simulation, but you see it a little bit. The cloth, when friction is set to zero, is more apt to slip around on a surface, especially a slanted or round surface. As friction increases closer to 100%, your object is less likely to slip and move around. So, if you've got a cloth that needs to land and stay on something, keep friction up around 100%. If however, you need something to appear silky, well then lower your friction setting. Next up is the Mass setting and mass has the impact of changing how heavy your cloth seems. With a mass value of 100, it seems like your cloth is made out of rubber or leather. Something that's just got a real heft and a swing to it. It's not really being impacted by the air. A mass of 33 maybe sort of splits the difference and a mass that I find myself using very often is 0.01, which is the lowest setting that I can get away with- or rather 0.1. And by tweaking my mass setting, I'm able to say how much sway the wind and air has on my object. Beyond that, it doesn't seem to have a huge impact on the performance of my cloth. So, I typically deal with 0.01. I recommend you do the same, unless you need to create something like a rubber or a leather. The next setting I'm going to go over here is on the Forces tab and forces sort of refer to physical forces acting on your cloth, and the first of these is gravity. On the far left we've got a gravity of -19.62, which is double the standard gravity, and that just means that things are falling faster than normal. If you've got objects that weren't built to scale, you kind of wanna increase your gravity setting to speed things up a bit and make them appear to scale, but if you've modeled to scale, just keep the gravity setting at -9.81. But, for some really fun effects, you can take your gravity and reverse it, and your objects will start to fall upwards, which is sort of surreal and interesting. Next up is the Stiffness parameter, back at our first page, and we've got varying levels of stiffness. A stiffness of 0%t means that our objects have no desire to keep their polygon shape, as if a stiffness of 100% means that each polygon is gonna try as much as possible to maintain its original shape. I typically leave stiffness around 100%. I very rarely use less, and you can see that when you get down to zero, you can get some really weird artifacts, because the cloth has no desire to retain its shape. All right? The next element that I wanna cover here is something called Air Resistance and air resistance refers to how much of an impact the air has on our cloth. How thick is the air? Air resistance of zero means that your cloth is sort of falling in a vacuum and an air resistance of over 100 makes it start to look like it's falling around in water or some other viscous fluid. Personally, I keep my resistance setting at around 75 for most of my cloth, and that gives it a nice sort of feeling of cotton falling, like a cotton sheet falling. Next up is the Wind Strength parameter, and wind strength basically controls how fast the wind is blowing in your scene, as you would anticipate. A value of zero has no wind. A value of 10 gives you a pretty steady blowing, and four will sort of give you a light breeze. We're running into an issue here, where the wind is blowing on a cloth before it's had a chance to settle and it's falling off our table. This is one of those few circumstances where that friction setting is gonna have a pretty huge impact. Next up is the Sub Sampling setting, and this is something you will find on your expert tab. Sub sampling refers to how many times calculations are performed between frames. So, a very low sub sampling setting means you're gonna get a ton of errors. A very high sub sampling setting means your gonna get a very accurate solution, but it might look a little dead and lifeless. I typically keep this setting somewhere between three and five and I only increase it if I find that my simulation isn't going well, because the more you crank up this number, the slower your simulation gets. There are just a few other things that I wanna go over. So we've talked about everything we see here in the tag settings, and we've covered a good chunk of the force settings. Wind direction here, controls weather-- or rather, wind direction controls which direction the wind is blowing, and it's a vector. So right now it's just moving back along Z. Y wouldn't-- blow it upwards. X would blow it left or right. Wind strength is again how strong it is. The Turbulence setting here, controls how much of an impact the wind has on my surface. The rest of these settings I'm gonna leave sort of as an exercise for you to read through in the manual. The Self Repulsion setting down here, I just typically do not use. Any time that I find that I would need to use self repulsion to prevent a cloth from colliding with itself, I feel like it's just worth the extra cost of going to my extra tab and turning on self collision, and self collision here will ensure that your cloth does not collide with itself, but when you turn that on, you're probably gonna have to turn up sub sampling and deal with significantly longer simulation times. All right, those are all of the settings, or at least the vast majority of the settings in our cloth tab and these are the ones that you're really gonna need to play with to get a good solution. The quick start video went over a little bit about what the Dresser page does here, but just to briefly go over it again, your init state button here has the option to set, and let's just do this in a new scene file so we can kind of see what's going on. I'm just taking a plane. I'm making it editable and I'm going to add a cloth tag to this. If I'm in points mode, I- It doesn't- and it doesn't mean that I have to be in points mode, but, that makes some of the other things we're gonna do later a little bit easier. I can choose set for init, and what that does, is it says that this is gong to be the exact state of my cloth on the very first frame of my animation. The dress state here refers to a setting that's helpful for the dress-o-matic system, which allows you to put clothing-like garments on your characters. But I would say that Cinema 4D's cloth system just really, unfortunately, is not up to the task of simulating cloth on your characters and in that situation, you should just use a third-party solution like Marvelous Designer, which is specifically designed for simulating fashion. But the nice thing about the dress state here, is that you can set this and it will store the starting point of your object and then you can come and say, use your magnet tool or do something else to your cloth. Maybe let's turn off dress mode or turn off the cloth engine as we play around with this. So maybe I wanna do something along these lines. I can now take my tag and I can set this as my initial state, turn my cloth back on, and when I press play, it starts simulating in that shape. But if at any point I wanna go back to my pre-modified state, I can choose to show my dress state. So, use the dress state here as a way of saving a clean version of your object before you work. I'm going to set this as my initial state as well and now let's play around with the Fix Points option. So if I just select one point right here and choose fix points, it's gonna take my selected point, it's gonna change the selected color of that point, and when I press play, we see that my simulation now is fixed at that point. So that's what fixed point does. Another thing that we can do is, let's say, fix a couple of these. So I'm gonna select both of them and fix again. So that's looking pretty good. Now there is another parameter, or another thing we might wanna play around with, and that the Cloth Belt Tag. And so, the Cloth Belt Tag is another system for fixing points go into this in more detail in a later tutorial. But basically what you wanna do is create an object of some kind that you would like to fix a point to. You select the point that you would like to fix. So I'm selecting the point that sort of lives inside that cube and I'm now going to go to simulation, cloth belt, and once here I can choose the object that I want to belt on to. In this case, that cube, and I'm going to choose set. So now when I press play, nothing really happens, and that's because my cube is not a polygon object, so I wanna make that editable, go back to my belt tag, choose set one more time, again ensuring that point is selected and I now press play and now this cube object can serve as an interactive way for me to play around with my cloth, and sort of fan it around and do some- some interesting stuff with that. So, that's another way of fixing points. Next up, I wanna show just a couple more of the features of the cloth system, again, just sort of as a reference. One of them is the Cloth Collider Tag. So if I right-click on an object and choose Simulation Tags, Cloth Collider, this is going to allow me to, let's say, press play right here, and move this sphere up and have it interact with my cloth. Starting on frame zero, we see that I had a problem with it intersecting, but, you know, I get something that interacts nicely. And this has the same bounce and friction settings that you might know from other settings in the cloth tag. Again, I keep my cloth bounce setting nice and low, maybe around 5% and the friction, you can crank up to something like 100 if you really want to. In addition to this, there is the cloth object. If you go to Simulate Cloth, and choose the cloth surface object, this kind of acts like a HyperNURBS object that you can throw your cloth into. It subdivides and smooths your cloth, similarly to the HyperNURBS, except that. . .and let's just pull up another example of this. Except that the subdivision surface object will sort of take away the sharp points of your fold. It sort of blends everything, sort of botoxes it, just kinda like. . . Whereas the cloth surface object respects the extremes and does its best to try and smooth the areas in between. And from personal experience, you typically wanna use a subdivision surface object as your first line of defense, and then you wanna put a cloth surface object outside of that in order to add thickness or do anything along those lines. And in your object tabs, you're gonna adjust the number of subdivisions that your cloth is creating. There is a thickness parameter which allows you to give your cloth some meatiness, and you can adjust how it creates that thickness with this parallel option, but that is pretty much it. Those are the major settings for Cinema 4D's Cloth System. Now, the other videos in this series are gonna go into, perhaps not greater depth about the settings, but they will give you specific settings to use in different situations, and also ways of approaching common cloth simulations needs. Think of this video really as a living manual that you can use to try and understand what parameters do and what good values are. I hope that this has been helpful, and again, don't forget that if you ever have a question about any specific parameter, you can very easily right-click and choose Show Help.
Resume Auto-Scroll?