Jump to content

Blender 3D: Noob to Pro/Softbody functions

From Wikibooks, open books for an open world

Softbody functions:cloth

[edit | edit source]

Foreword: This is basically a text rendition of tuxbot's excellent video tutorial about softbodys in Blender. I wrote this without tuxbot's permission (there was no contact link at the site I found), and I wrote this because the tutorial that was here originally was not only terrible, but incomplete. I found tuxbot's tutorial by googling for 'blender softbody tutorial', no quotes. I will do basically the same things as tuxbot here, but slightly different. I recommend watching his tutorial and making a comparison if you have the time and patience. This tutorial should be usable by someone who has been using blender for maybe a few days, and knows how to navigate the blender UI. If you are not familiar with blender's UI, go to blender.org and read the UI tutorials.

What we are going to do is create a plane and use softbodies to animate it like it was a piece of cloth. Start off with a new file (press ctrl+x and confirm), and if your default scene is not similar to the original default scene, I recommend pressing shift+c to get your cursor and view centered.

Let's create a plane, Press:

  The space bar (while the cursor is in the 3D view, of course) -> Add -> Mesh -> Plane.

Then, to make everything nice and straight, I like to press the following keys in this order:

  A key, tab key, alt+r, confirm.

I recommend doing this anytime you create an object while your view is not set to top view (numpad 7 key). I strongly recommend doing this if you ever create an armature, because if you do not, it can really screw you up later.

Now we will go back into edit mode, select all and subdivide the mesh twice:

  tab key, A key, W key -> Subdivide, W key -> Subdivide.

Your scene should look something like this (different colors though, most likely): File:Http://img143.imageshack.us/img143/9275/softbody1ee1.png

Now we will create a vertex group. A vertex group is basically a list of vertices belonging to a mesh, that other features in blender can make use of. For example, bones in blender can be used to move the vertices of a mesh that belong to a specific vertex group. In the same way, the softbody effect can only be used on the verts that belong to a specific group.

You should be in Edit Mode and have all vertices selected. In the Link and Materials box of the Editing Buttons, click "New". Now change the word "Group", that appears, to "SoftbodyGroup". In the box immediately bellow it, change the weight value to 0.000. Now press the "Assign" button.

Now select any two corner vertices, as long as they are on the same side of the grid mesh.

Click "New" to create a different vertex group for these two vertices. You can give it any name you prefer. Then, change the weight value to 1.000 and press the "Assign" button. What we have just done is set these two vertices to be static, or immobile. Like the corners of a flag that would be attached to a flag pole.

Now we are going to set up a cube for this cloth to fall on. I'm going to leave edit mode and move my grid along the positive Z axis. Press:

  A key, A key, G key, Z key, type 1, Enter key, tab key.
  space bar -> Add -> Mesh -> Cube, tab key, alt+r, confirm, tab key, S key, type 0.25, Enter key, tab key.

Now make sure the plane is selected. In the Mesh box of the Editing Buttons, press the "SubSurf" button, and in the Link and Materials box press the "Set Smooth" button. I'm going to go to the Softbody box (it will probably appear as a tab in one of the boxes) in the Object Buttons. I'm going to click on the double arrow button next to the "Use Goal" button, and I'm going to select the only option that appears; "SoftbodyGroup". I'm going to change the gravity value to 10.000 (tuxbot uses 9.9 or 9.8, I just picked 10.0). An "E Stiff" value of 0 will make edges stretch almost to infinity, which is not what we want. Change "E Stiff" to 0.9.

If you press alt+a now, you will see your grid swing around, but it will pass right through the cube. In order to RENDER the animation, press the "Bake settings" button on the Softbody tab, then press "Bake."

Select the cube and go to the Object Buttons (F7). In the "Particle Interaction" box (it will probably appear as a tab, so you will probably just see "Particle"), activate the "Deflection" button, and set the damping value to 1.000. Now when you run the animation, you should see the grid hit the cube, but it does not look very good.

If you go into edit mode on the plane, select all and subdivide a couple more times, your collision will look a little better, but it will take longer to compute. Also, because we have already set up our vertex group and you are adding more vertices, you will want to reassign the weight values. After subdividing (with every vert selected), set weight to 0.0 and press the "Assign" button. Then select the same two corners you have been using, change the weight value to 1.0, and press "Assign" again. Then alt+a to check it out. It's better, but it's not great. That's as far as I'm going to cover for now. tuxbot covers wind forces in the video, so you will probably want to check that out.