On this page |
Overview
The cloth solver simulates deforming surfaces. Cloth simulations are useful for use it to simulate fabric, rubber, bending metal, and other materials. You can turn any piece of SOP geometry into a cloth object, no triangulation is required.
Wire simulations are useful for simulating anything long and flexible, for example grass, fur, or even scaffolding. When wire objects are used with constraints, they can be used to simulate things such as ropes swinging, bungee jumping cords springing, or a tail of a kite.
The tools on the Cloth and Wires shelf tabs let you create and manipulate cloth and wire objects.
How to
To... | Do this |
---|---|
Deform geometry based on a dynamic wire |
You can use a curve being controlled by a wire simulation to drive the deformation of a model. For example, you can model a snake and control it with a dynamics wire. Deforming geometry based on a dynamics wire is basically the same problem as deforming geometry based on a curve. Create a control curve to represent the object you want to deform, and make it a simulated wire using the shelf tools. Add any constraints and forces you want to the simulated wire. Then, create the Wire Capture surface node to capture the geometry you want to deform to the wire geometry. In the Wire Capture node’s parameters, click the Capture tab and set the Min/Max weight to 1 and 1. Connect the original curve to the Wire Deform node’s second (rest) input and the DOP Import node (automatically created by the shelf tools to import the simulated wire’s motion back onto the curve geometry) to the Wire Deform node’s third (deformed) input. |
Create a field of wires |
One way to create a field of curves at the SOP level is:
|
Create a toppling scaffold |
|
Colliding with cloth and wires
Currently RBD objects cannot collide with cloth and wires. Turn your object into a stiff cloth object to have it collide with other cloth objects.
Useful cloth object parameters
Stretch stiffness
The resistance to stretching. Higher numbers mean the cloth is harder to stretch.
Shear
Resistance to shearing (forces along the plane of the cloth; if you stretched a square into a parallelogram that force would be shearing). This affects creasing where cloth is draped over a corner, as in a tablecloth on a table.
Bend stiffness
Increase this to make the cloth smoother/more resistant to wrinkles.
Useful Wire Object parameters
-
Click the Physical tab to set the physical properties of the wire. The density and width affect the overall mass of the wire. The width also affects collisions. You can also set these (as well as per-point mass) through attributes on the source geometry.
-
The Linear spring constant is the wire’s resistance to stretching. Decrease this value to make the wire more stretchy.
-
The Angular spring constant is the wire’s resistance to bending. Decrease this value to make the wire looser, or increase it to make the wire more stiff.
-
To get a completely loose wire (like a rope or string), set Angular spring constant to 0. However, when Angular spring constant is 0, you must add an Angular damping constant (such as
0.001
). If both Angular spring constant and Angular damping constant are0
, the wire can go crazy.
Wire Object attributes
See the Wire Object help for a list of attributes used by wires.
The wire solver uses the values of the attributes if they are present on the wire geometry, otherwise it uses the defaults defined by the parameters of the Wire Object node.
Springs internal to the wire object resist any change in shape from the rest shape specified by SOP Path. The simulation will incorporate animation of the rest shape if Use Deforming Geometry is enabled. If the Initial Pose is different from SOP Path, the solvers considers the wire to be starting deformed.
The wire solver automatically keeps the point position and the v
(velocity) point attribute, angvel
(angular velocity) attribute, and orient
(orientation quaternion) attribute up to date.
The wire solver averages the point attributes at either end of a line segment along the length of the segment. So, for attributes like width and mass, if the values at either end of a segment are different, the solver treats the segment like a tapered cylinder.
Cloth Tips
-
Simulate with simple proxy geometry that roughly approximates the shape of the animated geometry. It is generally not a good idea to let the cloth collide against high-resolution geometry because the cloth solver does collision detection against all the polygons in the animated geometry.
-
The best way to calm down a simulation is to increase the Drag settings on the cloth object.
-
If your animation moves fast, try simulating at a higher number of substeps.
-
Collision detection when two separate cloth objects collide, or when a cloth object collides with itself, is quite slow, and you should restructure your simulation to avoid it whenever possible.
-
It is very important that the initial position of a cloth object must not have any intersectionss. If a cloth object starts with collisions, the solver cannot fix them.