Particles node

Rope System

A GPU physics container that simulates real hanging, swinging, colliding and tearing cables. Double-click to dive inside and add Rope nodes for the cables themselves, force nodes (Rope Gravity, Rope Wind, Rope Turbulence, Rope Attract) to move them, Rope Collider surfaces for them to rest on, and a Find Nearest Endpoint matcher that lets cable ends grab and release moving points on their own. The container renders everything to a full-viewport texture and exports every simulated rope point for the rest of the patch to ride.

Inputs

PortTypeDefault
EnableOff hides the whole cable system. Nothing is drawn while it is off.booltrue
Position XShifts every cable horizontally, in Grafit units, after the physics is solved. Not clamped.float0
Position YShifts every cable vertically, in Grafit units, after the physics is solved. Not clamped.float0
Rotation XTilts the whole system around the horizontal axis, in degrees, positive clockwise. Any value works; it keeps turning.float0
Rotation YTurns the whole system around the vertical axis, in degrees. Any value works.float0
Rotation ZSpins the whole system in the screen plane, in degrees, positive clockwise. Any value works.float0
ScaleZooms the whole cable system. Values under 0.01 are lifted to 0.01, so it can never collapse to a point.float1
Camera DistancePerspective strength for the 3D depth of the cables. Negatives are lifted to 0, which is flat orthographic; 3 is the natural default, 10 and up is nearly flat.float3
CameraSee this system through a Camera node — the same lens a 3D Scene or Particle System fed the same camera uses, which is what keeps their pictures aligned. Unplugged, Camera Distance and the classic view work exactly as before.structure—
Time ScaleSpeed of the physics clock. Negatives are treated as 0, which freezes the cables; 1 is real time, and above about 3 the ropes start to whip.float1
External TimeDrives the simulation from your own clock in seconds instead of the wall clock — the step is the difference between frames. Anything below 0, including the default -1, keeps the internal clock.float-1
QualitySolver effort: more iterations and more physics substeps per frame. Clamped to 0…2, where 0 is cheapest and springiest and 2 is the stiffest, steadiest cables.int1

Outputs

PortType
Imageimage
Widthfloat
Heightfloat
Rope Countint
Pointsstructure
Tornbool

How It Works

The Rope System is a container in the Particle System mold: the nodes you place inside it are never part of the global execution plan — the container schedules them itself every frame, collects their configuration outputs, and feeds a single GPU simulation. One Rope System equals one physics world; multiple Rope Systems each own an independent simulation with their own viewport gizmos.

The solver is XPBD (Extended Position-Based Dynamics) running entirely on the GPU: Verlet integration with distance and bend constraints, one compute threadgroup per rope. It follows the small-steps principle (Macklin et al. 2019) — many small substeps with few iterations converge far better than few substeps with many — using a fixed 1/480 s substep. Because the timestep never varies, the simulation is deterministic to the bit: equal inputs replay the identical simulation, every run. Seeded drape jitter breaks perfect symmetry, and the same seed drapes the same way forever.

Taut cables get special engineering: long-range attachment constraints deliver pin tension to the whole cable instantly, so a tight cable never develops mid-rope vibration; pin motion is interpolated across substeps; rendering uses a temporal blend between the last two solver states so uneven substep counts never read as shimmer; and an axial velocity filter kills longitudinal ringing while transverse swing stays free.

Forces stack. Every enabled force node inside the container contributes an acceleration that is summed per particle, per substep, on the GPU — up to 16 force nodes. Colliders are collected the same way, up to 64 collision primitives per system (a multi-point polyline collider contributes one primitive per segment). Cables are capped at 1024 per system. If several Find Nearest Endpoint nodes exist, the first one wins — one matcher per system.

Anything can drive the inside. The container boundary has a wildcard + input: connect any cable from outside (an LFO, audio energy, a Vision landmark cloud) and a correctly named Port node appears inside, ready to wire to any rope parameter.

The Points output closes the loop. All simulated cable particles are exported through exactly the same transform the render applies (Scale, then Rotation X/Y/Z, then Position offset, then perspective), so downstream nodes — Plexus, Points Visualize, particle emitters, a Replicator — track the rendered strands with pixel accuracy. The export is decimated to at most 8192 points on very heavy systems.

Parameters in Depth

PortTypeDefaultMeaning
EnableBooltrueMaster switch. Off clears the texture and pauses the simulation.
Position XFloat0Horizontal offset of the whole rope world, in Grafit units.
Position YFloat0Vertical offset of the whole rope world, in Grafit units.
Rotation XFloat0Rotation of the system around the X axis, degrees.
Rotation YFloat0Rotation around the Y axis, degrees.
Rotation ZFloat0Rotation around the Z axis, degrees (positive = clockwise).
ScaleFloat1Uniform scale of the rope world (minimum 0.01).
Camera DistanceFloat3Perspective strength for 3D content: 0 = orthographic, 3 = default, 10+ = weak perspective.
Time ScaleFloat1Simulation speed multiplier. 0 freezes physics, 2 doubles it. Clamped to ≥ 0.
External TimeFloat−1−1 uses the internal wall clock. Any value ≥ 0 makes that float the simulation clock — drive it with a Timer or a fader and the physics scrubs deterministically.
QualityInt1Solver tier 0–2. Constraint iterations 8 / 12 / 16 and per-frame substep cap 8 / 12 / 16. Higher = stiffer, more accurate cables at more GPU cost.

Outputs: Image (the composited cable texture, full viewport), Width / Height (viewport-fit dimensions for the Canvas), Rope Count (number of enabled cables this frame), Points (structure — every simulated cable particle in screen-accurate coordinates), and Torn (a one-frame Bool pulse whenever any cable tears).

Use Cases

  • Fingertip cables — Camera Input → Vision (Hands, Hand Tips Only) → Landmarks to Points → into the Rope System boundary → Rope Start Points: one cable hangs from every fingertip and follows the hand in real time.
  • Audio-reactive curtain — a Rope with a Start Points array along the top edge, Audio FFT band energy → boundary + → Rope Wind Strength: the curtain gusts with the music.
  • Plexus riding the strands — Rope System Points → Plexus: a web of connection lines grows between the physical cables; add Point Animation in between for extra drift.
  • Maypole — Start Points from a circle of points (Geometry to Points), a single static End X/Y on the Rope: every cable converges on one point; rotate the start circle and the ribbons wind.
  • Tear-triggered events — Torn → Counter / Do Once → flash a Rectangle through a Canvas, or fire a MIDI Sender note the instant any cable snaps.
  • Slow-motion replay — drive External Time from a Timer node through a Math multiply: scrub the same deterministic simulation backward and forward like a video.

Tips

  • The simulation is deterministic per seed and per input stream: identical Seeds, forces and pin motion always replay the same drape and swing. Change a Rope's Seed to get a different but equally repeatable variation.
  • With no force nodes inside, cables keep momentum only — "space cables". Add a Rope Gravity node for normal weight; it is not built in.
  • Quality is the first knob when taut cables look soft or heavily loaded systems sag through colliders — tier 2 nearly doubles solver work over tier 0.
  • The Points output is already in final screen space (perspective applied, Z flattened to 0) — feed it straight to 2D consumers without re-projecting.
  • Live topology changes are slot-stable: changing the number of points in a Start Points array rebuilds only the affected cables, and surviving cables keep their physics state — nothing pops or restarts.
  • Gizmos (collider outlines, attractor rings, endpoint markers) are drawn per system, so several Rope Systems can coexist with their own overlays.

Open Rope System in the interactive catalog →

Rope System 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