←ALL OPERATORS
> modifiers

Spring Modifier

modifiers/spring-modifier·v1.5.1
IN:1  OUT:1

The Spring Modifier makes instances follow their input like a damped spring, so animation upstream trails behind, overshoots and settles. Position, Rotation, Scale and one extra float attribute each have their own toggle, and the response is set by Mass, Spring Constant and Damping Coefficient.

It runs as a feedback loop: Initialize resets it to the input, Start runs it and Play pauses or resumes. A Mass Attribute can vary the response per instance, Do Falloff weights the spring force so instances outside the falloff stay put, and Preview Falloff colors the points by the Other attribute through a ramp.

PAGESpring
GroupGroupIf there are input groups, specifying a group name in this field will cause this POP to act only upon the group specified.
Target Feedback Loop POPTargetpopA reference to a POP node downstream in the network whose data is retrieved one frame later.
Do FalloffDofalloffWeight the effect on each point by the Falloff Attribute.
Falloff AttributeFalloffattrThe point attribute, 0 to 1, that weights the effect.
PositionPositionEnable applying the spring to the position.
RotationRotationEnable applying the spring to the rotation.
ScaleScaleEnable applying the spring to the scale.
OtherOtherEnable applying the spring to a float attribute as well (Attribute).
Attribute (Float)AttrFloat attribute the spring drives when Other is on.
Use Mass AttributeUsemassattrUse a mass attribute on each point instead of the Mass parameter.
Mass AttributeMassattrSets the attribute holding the mass of each point.
MassMassThe spring mass. Higher values respond slower.
Spring ConstantSpringconstSets the spring stiffness, how strongly the points are pulled to the target.
Damping CoefficientDampingcoefSets how fast the motion dies out. Values closer to 1 oscillate less.
InitializeInitializepulseInitializes the POP from its input and parameters.
StartStartpulseStart the simulation from the initialized state.
PlayPlayPause or play the feedback loop.
PAGEFalloff
Preview FalloffPreviewfalloffEnable coloring the points by the Other attribute.
Open Custom Ramp EditorOpencustomrampeditorOpen the editor of the custom preview ramp.
Reset Custom RampResetcustomrampResets the custom preview ramp.
PAGECommon
BypassBypassPass through the first input to the output unchanged.
Free Extra GPU MemoryFreeextragpumemFree memory that has accumulated when output memory has grown and shrunk.
Render PrimitivesRenderprimitivesWhether to render the full POPX geometry. When off, only point instances are drawn.
Convert to Point PrimitivesConverttoptprimEnable converting points to point primitives when Render Primitives is off.
SRT / RSTSrtrstSets the transform order, SRT or RST, used when the points are rendered as TouchDesigner instances.
IORead
Pivotpoint vec3Instance pivot (passed through unchanged; used for the pivot-corrected translation).
Masspoint floatPer-instance mass used by the spring when Use Mass Attribute is on; higher mass = slower response.
popxFalloffpoint floatFalloff attribute controlling where and how strongly the effect is applied (default popxFalloff; set by Falloff Attribute).
IOModified
Ppoint vec3Instance position. Sprung toward the target position over time when Position is enabled.
Orientpoint vec4Instance orientation quaternion. Sprung toward the target orientation when Rotation is enabled.
Scalepoint vec3Instance scale. Sprung toward the target scale when Scale is enabled.
Otherpoint floatThe custom float attribute (chosen by Attribute (Float)) sprung toward its target when Other is enabled.
PointScalepoint floatUniform per-instance scale; reset to 1 when scale is folded into the transform.
Transformpoint mat3Per-instance 3x3 transform, rebuilt from the sprung pose.
IOCreated
FullTransformpoint mat4Per-instance 4x4 transform with pivot-corrected translation; the matrix used for instancing.
Input 0 POP - POPX/POP Geometry
Output 0 POP - POPX/POP Geometry