Particles node

Rope

One elastic cable — or an entire bundle of them. Placed inside a Rope System, the Rope node pins a cable between a start and an end anchor, or spawns one cable per point from a whole point array (straight from Vision tracking, a Points generator, or any structure). Cables hang, swing, stretch, tear and render as smooth, gradient-colored capsule strands.

Inputs

PortTypeDefault
EnableOff removes these cables from the simulation entirely — they stop being drawn and stop being solved.booltrue
Start PointsConnect a point cloud to spawn one cable per point; the Start X, Y and Z knobs are only used when nothing is connected. At most 256 points per node are taken.structure—
Start XPinned start of the cable, in Grafit units. Ignored when a Start Points cloud is connected. Not clamped.float-0.5
Start YVertical position of the pinned start, in Grafit units. Ignored when Start Points is connected.float0.4
Start ZDepth of the pinned start; positive is toward the camera. Ignored when Start Points is connected.float0
Attach EndPins the far end as well. Off lets the cable hang from the start point or fly free.booltrue
End PointsWhere the far ends attach, cycled by index — a single point makes every cable converge on it, equal counts pair them one to one.structure—
End XPinned end of the cable, in Grafit units. Used only when Attach End is on and no End Points cloud is connected.float0.5
End YVertical position of the pinned end. Used only when Attach End is on and End Points is empty.float0.4
End ZDepth of the pinned end. Used only when Attach End is on and End Points is empty.float0
SegmentsHow many links the cable is built from — more looks smoother and costs more. Clamped to 1…63.int24
Auto LengthRest length follows the distance between the two pins multiplied by Slack. Off uses the Length value instead. Only matters when the end is attached.booltrue
LengthRest length of the cable in Grafit units, used when Auto Length is off or the end hangs free. Values under 0.01 are lifted to 0.01.float1.0
SlackHow much longer than the pin distance the cable hangs — 1 is dead taut, 1.15 a light droop, 2 a deep loop. Values under 0.1 are lifted.float1.15
Length VariabilitySpreads the cable lengths randomly around the base — 0.5 gives roughly half to one and a half. Clamped to 0…1, and the same Seed always reproduces the same spread.float0
StretchElasticity of the cable: 0 is a steel wire, 1 is a rubber band. Clamped to 0…1.float0.0
Bend StiffnessResistance to bending — 0 is a floppy chain, 1 an almost rigid rod. Clamped to 0…1.float0.3
DampingHow quickly motion bleeds away. Clamped to 0…1; near 0 the cable swings for ages, above about 0.2 it moves as if through honey.float0.03
Gravity ScalePer-cable multiplier for every force node in the system. Not clamped; 0 makes these cables weightless and negatives make them fall the other way.float1.0
SeedRandom seed behind the length, thickness and drape variation. Any whole number works, and each cable offsets from it, so the same seed always gives the same look.int0
Tear EnableLets the attached end snap loose when the two pins are pulled too far apart.boolfalse
Tear DistancePin separation at which the end lets go, in Grafit units. Values under 0.05 are lifted; only used with Tear Enable on.float1.5
Start ThicknessLine width at the start of the cable, in Grafit units, tapering toward End Thickness. Values under 0.0005 are lifted.float0.008
End ThicknessLine width at the far end, in Grafit units. Values under 0.0005 are lifted; set it apart from Start Thickness for a tapered cable.float0.008
Thickness VariabilityRandomly varies the width from cable to cable. Clamped to 0…1 and driven by Seed, so it stays the same between runs.float0
ColorBase colour and opacity of the cable, used whenever no Gradient is connected.color—
GradientConnect a Gradient node to colour each cable along its length; the first 16 stops are used. With nothing connected, Color applies.structure—

Outputs

PortType
Configsstructure

How It Works

The Rope node does not simulate anything itself — it describes cables. Every frame it emits a Configs structure that the parent Rope System consumes and feeds to the shared GPU XPBD solver. That is why a Rope node only works inside a Rope System container.

Anchors. The start is always pinned: either at the single Start X/Y/Z position or, when a cable is connected to Start Points, at every point of the array — one cable per point, up to 256 cables per Rope node (the system caps at 1024 total). The end behaves the same way through Attach End, End X/Y/Z and End Points, with one twist: the End array cycles by index. Equal counts pair i→i; a single End point makes every cable converge on it — an instant maypole.

Cable identity is slot-stable. Each cable's identity is its point index, so when a point array grows or shrinks, surviving cables keep their physics state — nothing restarts or pops.

Length. With Auto Length on, the rest length is the pin distance × Slack — cables automatically fit whatever they span, with a controllable droop. With it off, Length is the explicit rest length in Grafit units. Length Variability adds a seeded per-cable variation (0.5 on a 1.0 cable spreads lengths across 0.5…1.5) — deterministic, so the same Seed produces the same bundle forever. Length changes are live and never reset the simulation.

Material. Stretch is XPBD compliance: 0 is a steel cable, 1 a rubber band. Bend Stiffness resists folding. Damping is honest internal material damping — it calms swing without freezing uniform motion. Gravity Scale multiplies this cable's response to all force nodes in the system (0 = weightless).

Tearing. With Tear Enable on, a cable whose two pins separate beyond Tear Distance snaps its end free. The torn state is sticky — a torn cable stays torn — and is re-armed only by toggling Attach End off and on again. Every tear fires the parent system's one-frame Torn pulse.

Appearance. Thickness blends linearly from Start Thickness to End Thickness along each cable; Thickness Variability adds an independent seeded per-cable variation. Color sets a flat color; connecting a Gradient (up to 16 stops, e.g. from the Gradient node) colors along the rope. Rendering is Catmull-Rom smoothed instanced capsules.

Parameters in Depth

PortTypeDefaultMeaning
EnableBooltrueIncludes or excludes this Rope's cables from the simulation.
Start PointsStructure—Point array: one cable per point (max 256 per node). Only used when a cable is actually connected.
Start X / Start Y / Start ZFloat−0.5 / 0.4 / 0Single start anchor in Grafit units, used when Start Points is unconnected.
Attach EndBooltrueOn: the end is pinned. Off: cables hang or fly free. Toggling off also re-arms torn cables.
End PointsStructure—Endpoint array, cycled by index (one point = all cables converge on it).
End X / End Y / End ZFloat0.5 / 0.4 / 0Single end anchor, used when End Points is unconnected.
SegmentsInt24Simulation segments per cable, clamped 1–63. More segments = smoother drape, more solver work.
Auto LengthBooltrueRest length = pin distance × Slack. Off: Length is used directly.
LengthFloat1.0Explicit rest length in Grafit units (min 0.01), when Auto Length is off.
SlackFloat1.15Auto-length multiplier (min 0.1). 1.0 = taut, higher = deeper droop.
Length VariabilityFloat00–1: seeded per-cable ± fraction of length. Same Seed = same bundle.
StretchFloat0.00–1 elasticity: 0 = steel cable, 1 = rubber band (XPBD compliance).
Bend StiffnessFloat0.30–1 resistance to folding; higher = wire-like, lower = thread-like.
DampingFloat0.030–1 internal material damping — calms swing without freezing motion.
Gravity ScaleFloat1.0Per-cable multiplier on the summed force-field acceleration. 0 = weightless.
SeedInt0Base seed for drape jitter and both variability streams. Each cable derives its own seed from it.
Tear EnableBoolfalseAllows cables to snap when overstretched.
Tear DistanceFloat1.5Pin separation (Grafit units, min 0.05) beyond which the end tears loose.
Start ThicknessFloat0.008Cable radius at the start, Grafit units (min 0.0005).
End ThicknessFloat0.008Cable radius at the end; thickness blends linearly between the two.
Thickness VariabilityFloat00–1: seeded per-cable ± thickness fraction, independent of the length stream.
ColorColorwhiteFlat cable color (RGBA).
GradientStructure—Along-rope gradient (up to 16 stops); overrides Color when connected.

Output: Configs (structure) — consumed by the parent Rope System; you never wire it manually.

Use Cases

  • A hanging banner edge — one Rope with default anchors: a single cable drooping between two pins; animate Start X with an LFO for a gentle sway.
  • Cable-per-fingertip — Vision hand tips → Landmarks to Points → system boundary → Start Points: ten cables ride the hands; leave Attach End off so they trail freely.
  • Maypole ribbons — Geometry to Points (circle) → Start Points, single End X/Y at the center top, Slack 1.3: all ribbons converge; rotate the circle for winding.
  • Organic bundle — one Rope, a short row of Start points, Length Variability 0.4 + Thickness Variability 0.5 + a warm Gradient: a bundle of unequal, individually-weighted strands from a single node.
  • Breakable web — Tear Enable on, Tear Distance just above the pin distance, ends matched by Find Nearest Endpoint: cables that grab points and audibly snap when pulled — wire the system's Torn pulse to a sound or flash.

Tips

  • Start Points / End Points / Gradient respond only to a really connected cable — a value merely sitting in the port default is ignored, so disconnecting cleanly reverts to the single-anchor ports.
  • Determinism is per-cable: each cable's seed is derived from Seed plus its index, and length/thickness variability use independent streams — changing one never reshuffles the other.
  • Torn is sticky by design: after a tear, pulling the pins back together does nothing. Toggle Attach End off → on (by hand or with a Bool cable) to re-arm the cable.
  • Keep Segments proportional to length: 24 is right for a screen-crossing cable; short ropes look identical with 12 and cost half.
  • Stretch above ~0.5 combined with Tear Enable makes tears feel rubbery and late — for crisp snaps keep Stretch low and let Tear Distance do the work.
  • Very small Slack (near 1.0) makes taut cables — that is exactly the regime the solver's long-range attachment constraints are built for, so don't fear it: taut cables stay calm.

Open Rope in the interactive catalog →

Rope is one of 381 nodes in Grafit Pro.

Free download. Every feature for 7 days, no card. Then €99.99 once — or keep playing your projects as a Player.

More Particles nodes