"
"clothchain.simulate" "Simulate"
"clothchain.simulate:shorthelp" "Determines whether the joint simulates or is fixed"
"clothchain.simulate:help" "
When Simulate is checked, the node(s) around this joint will be simulated, i.e. free to move.
When it's unchecked, those nodes will be fixed by animation
In the example below, the tip of the chain is simulated on the left, and fixed (by unchecking the Simulate box) on the right
The root of the chain is always fixed
| Default setup for the joint chain: only one (root) joint is fixed. The rest are simulated. |
Chain fixed on both ends. Yellow and pink show the joints and their corresponding Simulate checkboxes |
 |
 |
"
"clothchain.goal_strength" "Goal Strength"
"clothchain.goal_strength:shorthelp" "How strong is the pull of the animated goals on cloth. Range: 0..1"
"clothchain.goal_strength:help" "TL;DR: This setting dictates how much the cloth follows the animation
Cloth generally is driven by animation. Animation represents the \"goal\" for cloth. Every cloth node has corresponding animated position, and goal strength is the strength of the magnet that pulls cloth to its animated goal shape.
When you set the goal strength to 0, the pull is non-existent and animaiton doesn't matter to cloth. Cloth just hangs down
When you set the goal strength to 1, it will snap cloth to the animated goal with all its strength
"
"clothchain.stray_radius" "Stray Radius"
"clothchain.stray_radius:shorthelp" "How far cloth vertex may stray from animated goal position. Range: 0..inf"
"clothchain.stray_radius:help" "Every cloth vertex has the animated position, defined by animation
If stray radius is set, it defines how far it can stray from that position. If you want cloth to move freely, but within some bounds away from the animation, set this to the distance
Unlike goal strength, stray radius has no effect when the vertex is within the range of its animated goal. If it strays beyond the range, it's yanked back hard (or rather with hardness determined by stray radius stretchiness)
Here's an example of restraining the range of sudden movement with stray radius. Note that the cloth stays well within the stray radius. In this case, it happens because stray radius restricted previous movement so the cloth doesn't have a long way to swing back from it. Cloth particles are not affected by stray radius at all when they're inside the stray radius sphere. They're only affected when they hit against the sphere boundary.

"
"clothchain.goal_damping" "Goal Damping"
"clothchain.goal_damping:shorthelp" "How fast the goal strength pulls "
"clothchain.goal_damping:help" "Cloth generally is driven by animation. Animation represents the \"goal\" for cloth. Every cloth node has corresponding animated position, and goal strength is the strength of the magnet that pulls cloth to its animated goal shape. Goal damping is how fast that magnet works.
When you set the goal damping to 0, the pull is fast and decisive.
When you set the goal strength to 1, the pull will be softer and slower
When the goal strength is weak or 0, goal damping doesn't matter
"
"clothchain.collision_radius" "Collision Radius"
"clothchain.collision_radius:shorthelp" "How thick the cloth vertex is"
"clothchain.collision_radius:help" "Cloth vertices may collide with collision primitives: capsules, spheres, boxes. Collision Radius determines the distance at which the vertex collides with collision primitive and can be used to simulate cloth thickness or keep some vertices more distant from the collider.

"
"clothchain.vertex_map" "Vertex Map"
"clothchain.vertex_map:help" "Cloth vertices may belong to one or more vertex maps. This field is a name (or comma-separated names) of vertex map(s) this vertex belongs to. It's useful in applying effects such as wind to only subset of vertices in the system."
"clothchain.world_collision" "World Collision"
"clothchain.world_collision:help" "Check this for cloth vertices that need to collide with the ground. Currently, different games set up different ground colliders. Citadel has no ground collision, Dota has heightmaps, HL:A just uses a probe to find the floor plane."
"clothchain.allow_rotation" "Allow Rotation"
"clothchain.allow_rotation:shorthelp" "Whether to allow rotation of fixed joints"
"clothchain.allow_rotation:help" "Has no effect on simulated joints.
When a joint is fixed (Simulated checkbox is unchecked), by default it will be fixed both in translation and rotation
You can allow a static joint to rotate by checking Allow Rotation. It will attempt to find neighbor cloth vertices and orient itself according to their movement. If there are no neighbors, rotation will be undefined

"
"clothchain.lock_translation" "Lock Translation"
"clothchain.lock_translation:shorthelp" "Lock translation to bind pose relative to parent"
"clothchain.lock_translation:help" "Prevent the joints from translating in parent space, allowing only rotation. Useful to prevent shear in mushy setups
This is a fixup used for advanced cloth setups. Here is an example: branching chain collapses

But if you lock translation on child joints, they can't collapse onto each other because their translation stays the same relative to the root of the whole construction
If you are setting up simple cloth or are just playing around with it, please leave at default
"
"clothchain.extrude_sides" "Extrude Sides"
"clothchain.extrude_sides:help" "ClothChain can extrude the joint chain into a strip (to simulate flat tails, flags, banners, loincloth etc.) or a tube/sausage (to simulate more full structures like very thick braids of hair or thick tails).
Note that when Extrude Radius is 0, nothing is extruded. So set the Radius to 1 or more
The Extrude Sides parameter is how many sides the figure has. 1 means extrude to the left. 2 means extrude left and right. 3 means extrude into a triangular-cross-shape tube. Etc.

"
"clothchain.extrude_radius" "Extrude Radius"
"clothchain.extrude_radius:help" "ClothChain can extrude the joint chain into a strip or a tube/sausage. The thickness of that strip/tube/sausage is determined by Extrude Radius. When Radius is 0, nothing is extruded

"
"clothchain.extrude_twist" "Extrude Twist"
"clothchain.extrude_twist:help" "ClothChain can extrude the joint chain into a strip or a tube/sausage. Sometimes it's necessary to orient that structure, and Extrude Twist determines how much to twist the resulting extrusion. This parameters makes no sense in the default case of Extrude Sides = 0. In the example below, optimal twist is 90° from default because it aligns the best with render mesh and implied dynamics of the tail. 180° is the same as 360° is the same as 0°

"
"clothchain.drag" "Extra Drag"
"clothchain.drag:shorthelp" "Air drag. Range: 0..1"
"clothchain.drag:help" "In addition to goal damping, there's additional drag to apply to cloth. The drag is very simple, it just robs cloth vertices of their velocity regardless of topology
"
"clothchain.mass" "Mass"
"clothchain.mass:help" "Mass is technically the mass of the corresponding cloth vertex. It does not behave in a way artistic mass behaves: the cloth won't behave differently if you set all node masses to 10 or 1000. Only the ratio of masses in neighbor vertices matters, so if you want a long chain with heavy vertex at the end, you can set that heavy vertex mass to 10 and the chain will behave differently
"
"clothchain.bend_spring" "Bend Spring"
"clothchain.bend_spring:help" "Cloth chain relies on joint hierarchy information to generate cloth around the joints
All the different types of springs are generated by going to parent, grandparent or great-grandparent of the joint
| | Stretch | Bend | Torsion |
| Stretch springs are red. Connect structurally closest elements. |
Bend springs are yellow. They skip a parent. |
Torsion springs are blue. They skip 2 parents. |
 |
 |
 |
"
"clothchain.torsion_spring" "Torsion Spring"
"clothchain.torsion_spring:help" "Cloth chain relies on joint hierarchy information to generate cloth around the joints
All the different types of springs are generated by going to parent, grandparent or great-grandparent of the joint
| | Stretch | Bend | Torsion |
| Stretch springs are red. Connect structurally closest elements. |
Bend springs are yellow. They skip a parent. |
Torsion springs are blue. They skip 2 parents. |
 |
 |
 |
"
"clothchain.gravity_z" "Gravity"
"clothchain.gravity_z:shorthelp" "Normal Gravity (-Z) affecting the cloth vertices"
"clothchain.gravity_z:help" "Gravity of 1 is normal gravity. 0 will make your cloth float, and -1 will pull it upward."
"clothchain.suspender" "Suspender Springs"
"clothchain.suspender:help" "When you have a long cape or banner, you can prevent it from stretching too much by creating suspender springs. They connect vertices to the closest fixed vertex."
"clothchain.stray_radius_stretchiness" "Stray Radius Stretchiness"
"clothchain.stray_radius_stretchiness:help" "Every cloth vertex has the animated position, defined by animation
If stray radius is set, it defines how far it can stray from that position.
Stretchiness kicks in once cloth vertex is beyond stray radius. You can regulate how hard the vertex is returned into the bubble around the animated position within the stray radius.
"
"clothchain.friction" "Friction"
"clothchain.friction:help" "Friction refers to friction against collision objects (spheres, capsules or boxes). It has no other effect on cloth unless it is in contact with colliders."
"clothchain.end_effector" "End Effector"
"clothchain.end_effector:help" "When End Effector is set to non-zero value, a new cloth vertex is created, extruded by that value along X axis from the joint. This is useful to create that extra virtual joint at the end of the chain that is not needed for animation, but is useful to simulate for dynamic effects. Set it to negative value if you want to extrude along -X"
"clothchain.twist_relax:help" "Experimental
The orientation of a bone affected by cloth is usually determined by the closest 3+ cloth vertices/nodes. Sometimes however there are only 1 or 2 vertices available, as for example in case of unextruded ropes/chains. They are the most efficient to simulate, but they don't provide enough information to unambiguously determine bone orientations. In that case, cloth prior to 2022 was taking the root of the chain orientation, and interpolated that along the chain.
Depending on the chain structure, this may cause quick flips of the chains, e.g. tassles that are modeled 90 degrees away from their relaxed state. Sometimes it may cause cloth to ignore twisting motion from animation. For example here is a chain of 3 joints that goes from bottom to top, root at the bottom and the tip (at the top) are both static (not simulating) but with free rotation. When the top is rotated, the chain doesn't twist because it takes the twist from the root, that isn't twisting.
Here is another example of two chains connecing in the middle. The left half is twisted, and the right isn't, and they meet in the middle. The twists are conflicting and have an unpleasant discontinuity in the middle.
Twist Relax attribute is made to distribute the twist along the chain softly. Think of the twist as flowing along the chain, including branches. The Twist Relax amount is how fast it flows. If you have both ends fixed (like in this example), this attribute will flow twist from both ends of the chain and balance out in the middle to create a pleasant falloff.



"
"clothchain.child_sibling_spring:help" "When there's a branch in cloth chain, sometimes you want the siblings to fall free. This is the default behavior.
But sometimes you want them to keep structure. Then set the sibling attribute to non-zero (the value means stiffness of the spring between siblings).
The important additional consideration in branchy ClothChains is that it's impossible to align all joints with their X pointing down to a child: you can't point axis X at both children at the same time. So, you usually need to also use Twist Relax (which doesn't have the requirement of joint alignment).
"
"clothchain.stiff_hinge:help" "One way to resist bending is to add bend springs that connect child and grandparent. This works well to resist large (over 60 degree) bends, but does nothing to resist small but significant (5-15 degrees) bends.
Stiff Hinge affects all 3 nodes: child, parent and grandparent. It pulls them together along one line, and this scheme resists small bends very well, but doesn't resist large (over 60 degrees) bends very well.
So, depending on how stiff you want the bend resistance to be and at what angles, you might want to use Stiff Hinge, Bend spring attribute, or both at the same time in some cases when there can be very wide range of motion in some extreme or fast animations.
"
"clothchain.stiff_hinge_angle:help" "When you use Stiff Hinge attribute, it can be too stiff. If you want to have some \"give\" in the bend, you have the option to set non-zero Stiff Hinge Angle (in degrees). This will allow the chain to bend up to that angle without any resistance, and stiff hinge algorithm will only kick in after that angle."
"clothchain.motion_bias:help" "This is made specifically to model chains of old-style Source1 jigglebones that were perfect to model antennae. Bias of 0 will mean the motion is traveling from child to parent and parent to child equally. This will make your chain more like a normal rope. But if you want the parent to affect the motion of the child, but child not to affect the parent, set motion bias to 1. This will ensure that motino is traveling down the chain but not up the chain.
When used together with stiff hinge, this attribute ensure perfect stiffness of your antenna joint chain. So perfect that there's no springiness to the antenna at all, it'll be perfectly rigid unless you soften it up somehow. One way to soften it is to set the bias to less than 1 (try 0.5). It will allow some, but not, of the motion to travel up the chain.
Another variant would be to set Stiff Hinge Angle to something small (try 5), and Motion Bias to 1. This will keep the hinges perfectly stiff, but will allow for the bend up to specified angle
"
"clothchain.extra_iterations:help" "Sometimes springs aren't stiff enough. Setting Extra Iterations to above 0 will effectively add the spring multiple times, so it'll be solved multiple times, so in large systems it will be stiffer.
This only makes sense in large systems because in small systems the spring will be solved the very first time, and solving it again won't change any behavior. You can only observe the difference in behavior in a large system, where there are many other springs tugging on cloth so that it makes sense to re-solve this spring after those other springs had the chance to move the joint
Use with caution: this will affect performance if used a lot, and you get most of the benefits, if any, with very small numbers like 1 or 2. Usually setting it to higher number makes no difference but costs CPU. But in general, solving springs is very cheap and won't cost any CPU if just used sparingly here and there
Solver runs on ticks, so if the game renders faster, it won't change stiffness. But more iterations = more stiffness
"
"clothchain.stray_box:help" "The same as stray radius, but keeps the node inside a box (rather than sphere)
Enter x y z like: 1 0 0 will allow the node to slide along X axis -1 to 1, and will not allow it to slide along Y and Z axes"
"Element.CDestructiblePart:name_ref" "CDestructiblePart"
"Element.CDestructiblePart:help_ref" "CDestructiblePart"
"Element.CDestructiblePart:help" "Tie a hitgroup to a set of 'parts' that each have a pool of health, that can shatter breakable parts at certain thresholds, toggling body groups and do things like pass on damage to the base entity, cause death, etc."
"modeldocnode.BreakPieceSimpleParticles:name_ref" "BreakPieceSimpleParticles"
"modeldocnode.BreakPieceSimpleParticles:help_ref" "Spawn particle meshes when this prop breaks. (Automatically creates a helper model with a bodygroup choice for each particle, a snapshot that positions them in the appropriate places, and a breakcommand that spawns a particlesystem driven by the model and vsnaps.)"
"modeldocnode.BreakPieceSimpleParticles:help" "Spawn particle meshes when this prop breaks. (Automatically creates a helper model with a bodygroup choice for each particle, a snapshot that positions them in the appropriate places, and a breakcommand that spawns a particlesystem driven by the model and vsnaps.)
Model scale will be passed down on Cp #9
if your model will be scaled. you need to set the render models -> Model scale cp and add a globally scale initial attributes on default with cp 9 as the Scale cp. "
"clothchain.extrude_forward_axis:help" "Normally animation should follow the convention that a chain of joints have X axes pointing down the chain.
When you need to extrude cloth (to the side), you can use Extrude attributes and Extrude Twist will rotate the extrusion around the chain length, defined by the joint X axis.
But if you made a Y-down or Z-down joint instead of the conventional X-down joint, you can still specify Y or Z as Forward Axis and still use extrude and extrude twist attributes, only the extrusion and twist will happen around those axes. "
"clothchain.animated_length:help" "When animation happens, cloth compresses, stretches and twists. The default spring lengths that try to keep cloth in its original shape are taken from the default bind pose. It is the function of animation to deform the mesh, and the function of cloth to keep it from deforming too far.
However, sometimes it's useful to do the opposite and animate the cloth spring lengths. E.g. you can imagine a monster with tentacles whose lengths animate with time. You can animate the tentacle lengths, but the cloth setup will keep them the original (bind pose) length. If you want the tentacle cloth to also animate its size, use Animated Lengths checkbox - when checked, the lengths of the springs are going to be taken from the animated pose, not from bind pose. The lengths are going to be dynamic and will behave very differently from the normal cloth, so only use this checkbox conciously for specific setups where you need to animate the lengths of cloth springs."
"modeldocnode.BreakPieceExternal:name_ref" "BreakPieceExternal"
"modeldocnode.BreakPieceExternal:help_ref" "Reference to a separate model to spawn when a physics prop is broken."
"modeldocnode.BreakPieceExternal:help" "Reference to a separate model to spawn when a physics prop is broken.
NOTE: Skinned meshes may require offsets for proper positioning. Check the Compiled Preview Outliner for the skeleton root's Bind Angles.
"
"modeldocattr.Softbody.cloth_enable_empty_model:name_ref" "Enable Empty Model"
"modeldocattr.Softbody.cloth_enable_empty_model:help" "Cloth without any dynamic content (no moving parts) will be compiled to nothing, because it doesn't affect the rendered model. However sometimes cloth with only collision may be used to collide with other pieces of cloth (CS2 keychains collide with their guns, which are separate entities). In those cases, we still need to spawn the cloth of the gun even if it doesn't have any simulating parts. This checkbox enables that."
"modeldocattr.ClothParams.immovable:name_ref" "Immovable model (hint)"
"modeldocattr.ClothParams.immovable:help" "Check this hint if the model is not supposed to move, like a plant on a map that doesn't move.
The only thing this affects is how cloth state is streated: when you look away, cloth stops simulating. When you look at the object again, cloth state is reset and cloth simulates from initial state. This is undesirable in some cases, as it resets cloth that otherwise should be still, like a plant in a corner of a room. Setting this hint will not reset cloth state.
The danger is that if you animate this model, look away and then back at it, the cloth will jump from the state previously seen to the current state, and it can be jarring for moving characters"
"modeldocattr.CRenderMeshSimplifyParams.visualizeEdges:name_ref" "[DEBUG] Visualize Simplification Edges"
"modeldocattr.CRenderMeshSimplifyParams.visualizeEdges:help" "Visualizes edges that have an impact on simplification.
Red lines & vertices are a LOCKED vertex/edge and not allowed to be removed. These will impact simplification the most.
Green lines are on border with an attribute seam (two seam edges).
Blue edges are on a border (two open edges) but do not have attribute seams.
Magenta are \"complex\".
"
"modeldocattr.CRenderMeshSimplifyParams.targetError:name_ref" "Maximum Error Percent"
"modeldocattr.CRenderMeshSimplifyParams.targetError:help" "The error threshold where simplification will stop (computed as a function of changes in vertex positions, and changes in vertex attributes when \"Attribute-Aware Simplification\" is enabled).
If you are reducing Target Triangle Percent and nothing is happening, you may need to increase this value."
"modeldocattr.CRenderMeshSimplifyParams.attributeAware:name_ref" "Attribute-Aware Simplification"
"modeldocattr.CRenderMeshSimplifyParams.attributeAware:help" "Enables using other vertex attributes when considering simplification error. This almost universally results in a better simplified mesh, because normals, uvs, etc will not be ignored and merged across seams, etc.
The \"Simplification Weight\" properties are used when calculating the total position + attribute error, increasing/decreasing those values will control how much the simplification will attempt to preserve the values."
"modeldocattr.CRenderMeshSimplifyParams.normalWeight:name_ref" "Normal Attribute Simplification Weight"
"modeldocattr.CRenderMeshSimplifyParams.normalWeight:help" "When \"Attribute-Aware Simplification\" is enabled, this will increase/decrease the error contribution from changes in the meshes normals. Increasing this will cause the simplfication algorithm to try to avoid changing normals more aggressively."
"modeldocattr.CRenderMeshSimplifyParams.uvWeight:name_ref" "UV Attribute Simplification Weight"
"modeldocattr.CRenderMeshSimplifyParams.uvWeight:help" "When \"Attribute-Aware Simplification\" is enabled, this will increase/decrease the error contribution from changes in the meshes uvs. Increasing this will cause the simplfication algorithm to try to avoid changing uvs more aggressively."
"modeldocattr.CRenderMeshSimplifyParams.jointWeightWeight:name_ref" "Joint Weight Attribute Simplification Weight"
"modeldocattr.CRenderMeshSimplifyParams.jointWeightWeight:help" "When \"Attribute-Aware Simplification\" is enabled, this will increase/decrease the error contribution from changes in the meshes skinning weights. Increasing this will cause the simplfication algorithm to try to avoid changing weights more aggressively.
This only applies for skinned meshes."
"modeldocattr.CRenderMeshSimplifyParams.colorWeight:name_ref" "Color Attribute Simplification Weight"
"modeldocattr.CRenderMeshSimplifyParams.colorWeight:help" "When \"Attribute-Aware Simplification\" is enabled, this will increase/decrease the error contribution from changes in the meshes vertex colors. Increasing this will cause the simplfication algorithm to try to avoid changing colors more aggressively."
"modeldocattr.CRenderMeshSimplifyParams.regularization:name_ref" "Regularize Faces"
"modeldocattr.CRenderMeshSimplifyParams.regularization:help" "Regularization attempts to keep triangles evenly sized. Can improve skinning results on simplified meshes by avoiding long, skinny triangles that would deform poorly."
"modeldocattr.CRenderMeshSimplifyParams.recomputeVertices:name_ref" "[experimental] Recompute Vertices"
"modeldocattr.CRenderMeshSimplifyParams.recomputeVertices:help" "Recomputes the values of vertex positions and attributes after simplification, to attempt to reduce errors in shading, silhouette, etc.
Generally improves results, especially normal mapping. With extreme simplification levels, may not be worthwhile or do some harm."
"modeldocattr.CRenderMeshSimplifyParams.permissive:name_ref" "[ADVANCED] Simplify Across Seams"
"modeldocattr.CRenderMeshSimplifyParams.permissive:help" "Allows simplifying across seams in the mesh. Generally only useful for poor content with lots of hard edges, uv shells, etc which would otherwise prevent simplification."
"modeldocattr.CRenderMeshSimplifyParams.lockBorder:name_ref" "[ADVANCED] Lock Border"
"modeldocattr.CRenderMeshSimplifyParams.lockBorder:help" "Locks the border (open edges) of the mesh.
Generally not useful, avoid using."
"modeldocattr.CRenderMeshSimplifyParams.prune:name_ref" "Prune pieces < error threshold"
"modeldocattr.CRenderMeshSimplifyParams.prune:help" "Prunes small pieces of the mesh based on the total error threshold."
"modeldocattr.CRenderMeshSimplifyParams.removeSmallComponents:name_ref" "Remove Small Components"
"modeldocattr.CRenderMeshSimplifyParams.removeSmallComponents:help" "Prunes small disconnected components based only on the size of the components.
Generally advised to enable this for lower LODs to remove small details that would otherwise get mangled (eg, bolts, etc)"
"modeldocattr.CRenderMeshSimplifyParams.smallComponentSize:name_ref" "Small Component Size Percent"
"modeldocattr.CRenderMeshSimplifyParams.smallComponentSize:help" "Size threshold used when removing small components. This is a percentage of the size of the overall mesh."
"modeldocattr.CRenderMeshSimplifyParams.weldVertices:name_ref" "Weld Vertices before simplifying"
"modeldocattr.CRenderMeshSimplifyParams.weldVertices:help" "Welds vertices (non destructively) before simplifying the mesh.
This should generally be enabled - it will fix small seams in the input model that otherwise might not be noticed, but would otherwise lead to gaps in the mesh as each side of the seam is simplified independenly."
"modeldocattr.CRenderMeshSimplifyParams.weldPositionTolerance:name_ref" "Weld Position Tolerance"
"modeldocattr.CRenderMeshSimplifyParams.weldPositionTolerance:help" "Tolerance used for \"Weld Vertices before Simplifying\""
"modeldocattr.ClothEffectWind.local_space:name_ref" "Local Space"
"modeldocattr.ClothEffectWind.local_space:help" "Generally wind is computed from the entity motion plus effect wind . So even with wind = 0 there will still be wind if the hero is on a zipline or running.
When you set Local Space to 1, the oncoming wind will be excluded (wind from animation will be included, e.g. when waving a flag in animation without moving a hero, the flag will still be affected by the oncoming wind from animtion)
You can blend it, too, between 0 and 1"
"modeldocattr.ClothEffectWind.vortex_count:name_ref" "Vortices"
"modeldocattr.ClothEffectWind.vortex_count:help" "How many vortices/eddies/swirlies will be computed around cloth. Use low number (1-4) for efficiency"
"modeldocattr.ClothEffectWind.time_multiplier:name_ref" "Time Multiplier"
"modeldocattr.ClothEffectWind.time_multiplier:help" "When time slows down, so does simulation. If you aren't specifically going for time dilation effects, please don't set this to 0.001 but figure out the other parameters instead. "
"modeldocattr.ClothEffectWind.underwater:name_ref" "Underwater"
"modeldocattr.ClothEffectWind.underwater:help" "Changes computation to something resembling dense fluid rather than air. Useful for floaty effects. "
"modeldocattr.ClothEffectWind.vortex_cell_size:name_ref" "Max Vortex Size, Inches"
"modeldocattr.ClothEffectWind.vortex_cell_size:help" "The size of every vortex, in inches. Smaller size means it will reach into smaller region. Imagine real vortices, how small do you want them to be?"
"modeldocattr.ClothEffectWind.vortex_choppiness:name_ref" "Variety, Hz"
"modeldocattr.ClothEffectWind.vortex_choppiness:help" "How many times per second vortex will change"
"modeldocattr.CModelDocClothParams.default_stretch:name_ref" "Stretchiness"
"modeldocattr.CModelDocClothParams.default_stretch:help" "Range: 0..1
Cloth is simulated with springs, and solver tries to make those springs hard. Extra stretchiness adds bounce to the simulation, which is normally not desirable, so by default it's 0"
"modeldocattr.CModelDocClothParams.additional_shear_stretch:name_ref" "Shear Stretch"
"modeldocattr.CModelDocClothParams.additional_shear_stretch:help" "Range:-inf..inf
Quads diagonal springs are called shear springs and resist shear. By default, there's some softness in them. Negative additional Shear Stretch will make them more rigid, positive more soft (so shearing will be easier)"
"modeldocattr.CModelDocClothParams.extra_iterations:name_ref" "Extra Iterations"
"modeldocattr.CModelDocClothParams.extra_iterations:help" "Range: 0..inf
Normally cloth does 1 iteration over all constraints. Doing some extra iterations is costly but is an easy way to make cloth stiffer. This is additional iterations after the first one (which is absolutely necessary)"
"modeldocattr.CModelDocClothParams.extra_goal_iterations:name_ref" "Extra Goal Iterations"
"modeldocattr.CModelDocClothParams.extra_goal_iterations:help" "Range: 0..inf
Besides iterating constraints, solver attracts vertices to animation goals. Sometimes with extra iterations you might need extra attraction to the animated goals "
"modeldocattr.CModelDocClothParams.extra_pressure_iterations:name_ref" "Extra Pressure Iterations"
"modeldocattr.CModelDocClothParams.extra_pressure_iterations:help" "Range: 0..inf
Pressure iterations are used for wind and internal pressure (like baloon)."
"modeldocattr.CModelDocClothParams.goal_strength_bias:name_ref" "Goal Strength Bias"
"modeldocattr.CModelDocClothParams.goal_strength_bias:help" "Range: -1..1
This is added to the goal_strength attribute across the whole cloth"
"modeldocattr.CModelDocClothParams.default_vel_air_drag:name_ref" "Fast Drag"
"modeldocattr.CModelDocClothParams.default_vel_air_drag:help" "Range: 0..1
Drag applied to the fast moving particles, simulates viscous drag common in liquids like air or water (yes, air is a liquid)."
"modeldocattr.CModelDocClothParams.default_exp_air_drag:name_ref" "Slow Drag"
"modeldocattr.CModelDocClothParams.default_exp_air_drag:help" "Range: 0..1
Drag applied to slow-moving particles. Simluates dry friction, like between two rigid bodies, only applies uniformly, so it's like friction with ether or space itself."
"modeldocattr.CModelDocClothParams.velocity_smooth_rate:name_ref" "Smooth Rate"
"modeldocattr.CModelDocClothParams.velocity_smooth_rate:help" "Range: 0..1
Special filter that smoothes velocity field. Very subtle"
"modeldocattr.CModelDocClothParams.internal_pressure:name_ref" "Internal Pressure"
"modeldocattr.CModelDocClothParams.internal_pressure:help" "Range:-inf..inf
Additional internal pressure acting on the back side of all the triangles. Experiment to test baloons. Never been used in production."
"modeldocattr.CModelDocClothParams.windage:name_ref" "Windage Normal"
"modeldocattr.CModelDocClothParams.windage:help" "Range: 0..1
How \"porous\" or \"sailable\" the surface of the triangles are when applying wind and pressure to it. 1 means the surface is fully solid like plastic, and wind affects it fully. Smaller values (0.1) work like it's a mesh, such that gusts of wind will go through it easily, affecting it little. 0 will mean wind goes through it in normal direction without any effect. Works in conjunction with Windage Tangent"
"modeldocattr.CModelDocClothParams.wind_drag:name_ref" "Windage Tangent"
"modeldocattr.CModelDocClothParams.wind_drag:help" "Range: 0..1
When wind hits a triangle in tangent direction, there's still some drag that wind effects on the surface. 0 means there's no drag, the triangle is so smooth that wind slides along without friction or viscous effects. 1 means full effect."
"modeldocattr.CModelDocClothParams.velocity_smooth_iterations:name_ref" "Smooth Iterations"
"modeldocattr.CModelDocClothParams.velocity_smooth_iterations:help" "Range:0..inf
How many smooth iterations are made. Works in conjunction with Smooth Rate and Smooth Iterations"
"modeldocattr.CModelDocClothParams.default_ground_friction:name_ref" "Ground Friction"
"modeldocattr.CModelDocClothParams.default_ground_friction:help" "Range: 0..1
Cloth sometimes drags along the ground plane (floor), this is how much ground pulls on it along tangents."
"modeldocattr.CModelDocClothParams.default_world_collision_penetration:name_ref" "World Collision Penetration"
"modeldocattr.CModelDocClothParams.default_world_collision_penetration:help" "Range: -inf..inf
How much to allow vertices penetrate ground or world "
"modeldocattr.CModelDocClothParams.add_world_collision_radius:name_ref" "Add World Collision Radius"
"modeldocattr.CModelDocClothParams.add_world_collision_radius:help" "Range:0..inf
When colliding with the ground or world, this is the additional radius added to particles."
"modeldocattr.CModelDocClothParams.add_curvature:name_ref" "Minimal Bend"
"modeldocattr.CModelDocClothParams.add_curvature:help" "Range:0..1
Allowed (min) bend along cloth edges. 0 does nothing, allowing full bend. 0.5 starts resisting bend after reaching 90 degree bend. 0.75 starts resisting at 45 degree from flat surface. 1 tries to resist any bend ."
"modeldocattr.CModelDocClothParams.local_drag1:name_ref" "Local Drag"
"modeldocattr.CModelDocClothParams.local_drag1:help" "Experimental: how much applied drag must be applied in Entity's local space, so that the entity motion doesn't affect drag. Not yet fully implemented."
"modeldocattr.CModelDocClothParams.follow_the_lead:name_ref" "Follow the Lead"
"modeldocattr.CModelDocClothParams.follow_the_lead:help" "Source 1 cloth: every link of cloth starting from static anchors simulates separate from everything and as if the previous link was completely rigid (infinite mass) and all the subsequent (downstream) link were weightless. This is not physical and leads to weird behavior, but may be very useful for simulating very rigid high-natural-frequency objects like long antennae"
"modeldocattr.CModelDocClothParams.force_world_collision_on_all_nodes:name_ref" "Force World Collision On All Nodes"
"modeldocattr.CModelDocClothParams.force_world_collision_on_all_nodes:help" "Experimental, not fully implemented: make cloth collide with the world capsules and spheres and some hulls"
"modeldocattr.CModelDocClothParams.can_collide_with_world_hulls:name_ref" "Collide With World Hulls"
"modeldocattr.CModelDocClothParams.can_collide_with_world_hulls:help" "Experimental: try to collide with rigid physics hulls "
"modeldocattr.CModelDocClothParams.can_collide_with_world_meshes:name_ref" "Collide With World Meshes"
"modeldocattr.CModelDocClothParams.can_collide_with_world_meshes:help" "Experimental: try to collide with rigid physics meshes "
"modeldocattr.CModelDocClothParams.can_collide_with_world_capsule_and_spheres:name_ref" "Collide With World Capsules And Spheres"
"modeldocattr.CModelDocClothParams.can_collide_with_world_capsule_and_spheres:help" "Experimental: try to collide with rigid physics capsules and spheres "
"modeldocattr.CModelDocClothParams.add_stiffness_rods:name_ref" "Bend-and-Stretch Springs"
"modeldocattr.CModelDocClothParams.add_stiffness_rods:help" "Bend spring do a double duty as structural spring but not only resisting bend (contraction) but also resisting elongation. When this is checked, they will not resist stretch. This may help in some very rigid cases of very small cloth setups that vibrate."
"modeldocattr.CModelDocClothParams.rigid_edge_hinges:name_ref" "Rigid Edge Hinges"
"modeldocattr.CModelDocClothParams.rigid_edge_hinges:help" "Use an algorithm that resists bending better than bend springs, especially when the cloth has high curvature."
"modeldocattr.CModelDocClothParams.add_bend_only_rods:name_ref" "Bend-only Springs"
"modeldocattr.CModelDocClothParams.add_bend_only_rods:help" "Add structural (diagonal) springs"
"modeldocattr.CModelDocClothParams.immovable:name_ref" "Immovable model (hint)"
"modeldocattr.CModelDocClothParams.immovable:help" "a hint that the model may not move (e.g. houseplant), which means cloth doesn't have to reset when you look away.
Cloth doesn't simulate when you don't look at it, so if you move the entity around and then look at it, it may stretch or pop momentarily when you look back"
"clothchain.antishrink:help" "springs can stretch and compress.
normally they aren't allowed to stretch past their default length, but they may be allowed to contract.
0 = springs are allowed to contract to 0
0.5 = springs are allowed to contract to 0.5 of their length
1 = springs are not allowed to contract, they're rigid rods"
}
}