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.
Tools on the Wires tab of the shelf let you simulate flexible dynamic objects in the scene view. The Wire Object tool will convert your geometry into a flexible dynamic object that deforms naturally when it interacts with other objects or forces. You can then constrain it using pin, hinge, spring, angular, or angular spring constraint.
Once you constrain your wire object, you can attach the constraints to things such as animation, dynamics points, rigid bodies, or a point in world space.
The tools required to do all of these things are available on the Wires tab of the shelf.
Important 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 are
0, the wire can go crazy.
Wire Object attributes
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.
How to deform geometry based on a dynamics 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.
How to create a field of wires
Creating a field of wires is really just creating a field of curves at the geometry (SOP) level and then importing that geometry into a dynamics network with the Wire Object node.
One way to create a field of curves at the SOP level is:
Use the Grid tool on Create shelf tab to create a plane and size it to the scale you want for your field.
Turn on the display of points in the viewer using the toolbar on the right side of the viewer.
You can just use the points of the grid as the locations for the curves if you want ordered rows and columns of curves, or you can scatter an arbitrary number of points across the grid.
If you want ordered rows and columns of curves, use the Rows and Columns parameters on the Grid node to set them up.
To scatter points across the grid, use the Scatter tool on the Model shelf tab with the grid object selected, and set the Number of points parameter to the number of curves you want in your field.
Draw a curve starting at the bottom (that is, at the point you want to touch the field plane).
Use the Copy to points tool on the Modify shelf tab to copy the curve onto the points.
Use the Wire Object tool on the Wires shelf tab to turn the curve field into simulated wires.
How to create toppling scaffolding
Convert your curves or lines to wire objects using the Wire Object tool on the Wires tab of the shelf.
If you used a wire pin constraint, keyframe when the constraint should break by changing the Activation to 0.
If you used a wire spring constraint, you can either keyframe when the constraint should break by changing the Activation to 0 or set a Maximum Force or Maximum Length on the Spring tab of the parameter editor. Once the spring reaches the maximum force or length the constraint will break.
Create a Rigid Body Object that will bump into the scaffolding.
Apply Gravity to the objects in your scene to make them look as if they are falling naturally.