Cloth Bind operator

The Cloth Bind operator allows you to convert particle shape meshes into dynamic cloth meshes.


Operation Rollout

  • Operation: the cloth conversion operation to perform.

Shape to cloth: converts a particle shape mesh into a dynamic cloth mesh.

Cloth to shape: converts a dynamic cloth mesh into a particle shape mesh.


Basic Cloth Settings Rollout

Activation

  • Activate all: all new dynamic cloth particles will be activated.

  • Activate by material ID: all new dynamic cloth particles with a matching material ID will be activated.

  • De-activate by material ID: all new dynamic cloth particles will be activated, excluding those with a matching material ID.

  • Material ID: the target material ID to match.

  • Include border vertices: vertices that border faces with differing material IDs will be included as long as one of the material IDs matches the target ID.

Activated particles are particles with normal mass. Their position will be affected by the bind solver.

De-activated particles are particles with infinite mass. Their position will not be changed by the bind solver.

Cloth Particles

  • Inherit mesh UVWs: causes the new cloth vertex particles to inherit the UVW coordinates of the originating mesh.

Send Out

  • Activated/de-activated particles: choose which particles will satisfy the operator test condition.

Solver Rollout

Particles

  • Mass: the mass override for new cloth particles.

Binding Stiffness

  • Stretch/Shear/Bend/Volume stiffness: stiffness values for various bindings.

  • Stretch/Shear/Bend/Volume texmaps: the texmaps whose intensity values will be used as a multiplier for the various stiffness values.

Texmap values are determined by sampling the texmap using the vertices of the input cloth mesh. Since each binding is formed by connecting two vertices, the highest of either texmap value will be used as the multiplier.

Stretch bindings: these bindings are formed between vertices that share a visible edge in the source mesh. They help cloth resist stretching.

Shear bindings: these bindings are formed between vertices that share an invisible edge in the source mesh. They also form diagonally between neighbor vertices that span invisible edges. They help cloth resist shearing.

Bend bindings: these bindings are formed between any two vertices that are separated by a third vertex between them. They help cloth resist bending.

Volume bindings: these bindings are formed by casting rays form vertices in the opposite direction of vertex normals, through the interior of a mesh to the other side. They take the shape of internal struts within the mesh and can help cloth maintain overall volume.

Stiffness Solver
  • Simple: bindings are solved in a straight-forward manner. Their stiffness is mostly dependent on bind solver step count.

  • Constrained: bindings are solved in a way that makes their stiffness somewhat independent of bind solver step count, at a small performance cost. This setting has no effect on bindings whose stiffness value is 1.

Binding Properties

  • ID: the ID value to assign to bindings.

  • Damping: the amount of post-solve damping to apply to cloth bindings.

  • Length bias: the post-initialization multiplier to apply to binding rest lengths.

  • Length bias texmap: the texmap whose intensity values will be used as a multiplier for the length bias value.

Texmap values are determined by sampling the texmap using the vertices of the input cloth mesh. Since each binding is formed by connecting two vertices, the highest of either texmap value will be used as the multiplier.

Since the default bias value is 1.0, the bias texmap multiplier will inversely linearly interpolate values towards 1.0 (for example, an RGB value of [255,255,255] will result in a bias of [length bias spinner value], whereas an RGB value of [0,0,0] will result in bias of [1.0]).


Tearing Rollout

  • Enable cloth tearing: enables cloth tearing.

Tearing must be enabled in order for tySlicers (added within the Particle Break operator) to work on cloth.

A particle’s weakness is its propensity to tear. Weaker particles will cause their attached bindings to tear with less overstretch. Stronger particles require more overstretch before tears will occur. Every time a tear occurs, a progressive weakness multiplier is applied to the attached particles’ weakness values. The value of the weakness multiplier can have a large impact on the overall look of the tear. Initial weakness values can be controlled with a texture map, in order to specify where the weakest areas of a cloth are. This gives users more control over tearing behavior.

Tears caused by tySlicer objects are excluded from tear limits.

Stretch

  • Maximum %: the maximum percentage of stretch a binding may undergo before it will tear, prior to weakness calculations.

  • Variation %: the per-particle percentage of variation to apply.

Strength

  • Tear overstretch frames: a binding must exceed its maximum stretch percent for this many frames before it will tear.

  • Variation %: the per-particle percentage of variation to apply.

Weakness

  • Use weakness map: controls whether weakness maps are enabled.

  • Animated map: controls whether the weakness map is animated. Animated maps will be updated each time step.

Depending on the complexity of a cloth simulation, updating weakness values from a texture map can have a measurable performance impact. Therefore, instead of automatically updating a weakness map each frame, users have the ability to select whether or not the map is animated manually. Non-animated maps will only be updated once per simulation.

  • Texmap: the weakness texmap to apply to the cloth, which will affect the weakness of cloth vertices.

Progressive Weakening

  • Multiplier/tear: the weakness multiplier to apply to particles that are attached to a torn binding.

  • Variation %: the per-particle percentage of variation to apply.

Weakness Limits

  • Min/Max: the minimum/maximum weakness values a particle may have.

Tear Limits

  • Max tears/strep: the maximum number of tears that can occur per step.

  • Variation %: the per-particle percentage of variation to apply.

Tear Distance Limits

  • Max dist/step: the maximum cumulative rest length of torn bindings that is allowed per step.

  • Variation %: the per-particle percentage of variation to apply.

Tear Timing

  • Min frames/step: the minimum duration of frames that must pass before a tear step is processed.

  • Variation %: the per-particle percentage of variation to apply.

Cloth Solver

  • Sim cloth after each tear: controls whether additional simulation solves will be performed after each time a bindings is torn.

  • Step reduce %: controls the number of post-tear solver steps will be calculated, as a reduced percentage of the total particle bind solver steps.

Every time a binding is torn, it affects the way its neighbor bindings must stretch in order to accommodate the newly torn binding. This change in binding stress can affect which bindings need to be torn next. However, without re-solving all bindings, the tearing algorithm has no way of knowing which areas are experiencing more/less stretching due to the previous tear. By enabling “sim cloth after each tear”, the solver has a chance to re-adjust all bindings after each tear which can lead to fewer tearing artifacts. However, re-solving is an expensive operation, and if many tears occur in a single time step this can lead to a significant reduction in solver performance. By increasing the “step reduce %” value, you can decrease the amount of time it takes to perform the intermediate solves while retaining their overall benefit.

Uniqueness

  • Seed: the seed value for all varied parameters.

Mesh Rollout

Mesh

  • Generate Cloth Mesh: controls whether an actual cloth mesh will be generated by the tyFlow object. If disabled, no cloth mesh will be created, even though cloth bindings will still be created between cloth particles.

Post-process

  • Chamfer pinched verts: cloth tears can often lead to degenerate cases where triangles hang from a part of the cloth mesh by a single vertex. Enabling this option will chamfer those single vertex connections between faces, which makes it easier to subdivide the resulting cloth mesh without gaps forming between those faces.

  • Add sehll to surface: controls whether the resulting cloth mesh will be given backside/edge faces in order to give it visual thickness.

  • Outer amount: the distance to extrude faces along their normal.

  • Inner amount: the distance to extrude faces along the opposite direction of their normal.

  • Open edges only: controls whether only elements with open elements are extruded.

  • Outer MatID Enabled: controls whether outer faces are given a material ID override.

  • Outer MatID: the override ID to assigned to outer faces.

  • Inner MatID Enabled: controls whether inner faces are given a material ID override.

  • Inner MatID: the override ID to assigned to inner faces.

  • Edge MatID Enabled: controls whether edge faces are given a material ID override.

  • Edge MatID: the override ID to assigned to edge faces.


Display Rollout

Display

  • Show stretch/shear/bend/volume constraints: controls whether various cloth constraints will be displayed in the viewport.

  • Show dead constraints: controls whether torn constraints will be displayed in the viewport.

  • Display text info: controls whether various pieces of binding debug info will be displayed in the viewport, pertaining to binding particle IDs, rest lengths, stretch ratios, etc.


Cloth Deconversion Rollout

  • Delete cloth rig particles: controls whether cloth rig particles will be deleted, when a dynamic cloth mesh is converted back into a particle shape mesh.

  • Carry velocity forward: controls whether the average velocity of all cloth rig particles will be applied to the resulting cloth shape particle.