Tech Art Log

Pinch-Driven Bloom in TouchDesigner...

Target look: a soft orb held between thumb and index, throwing a sparkle trail as it moves, with a flower that blooms open as the pinch releases.

Hand tracking is via the MediaPipe plugin (Torin Blankensmith / Dom Scott).

Note Camera set to Orthographic with Ortho Width 1 maps world โˆ’0.5 to 0.5 across the frame width. Matches a 0-to-1 tracking signal offset by โˆ’0.5. Clean 1:1,

image

Trailing Geometry:

I wanted particles that follow the pinch and die off behind it.

โ€” Particle POP + Copy POP โœ“

image

Size Over Lifespan:

GPU, real particle counts. Particle POP takes birth position from its input's P and gives each particle PartAge, PartLifeSpan, PartVel, PartDrag, PartMass, PartId. Copy POP stamps a template shape onto every one.

Chain: pointgen โ†’ transform (pinch position) โ†’ particle โ†’ math (size over life) โ†’ copy โ†’ geo โ†’ render.

  1. The Flower

image

Petal is a Circle POP with Line Strip connectivity and unequal radii, radial-copied, then two Transform POPs for an inner and outer set.

image

Pinch drives three things: petal shape (rady from 1 to ~3, so it morphs from circle to ellipse), petal offset from center, and overall flower scale.

The trap: stacked multipliers

All three were pinch-driven at once, so changing any one shifted the other two and tuning never converged. Every adjustment overshot.

Two fixes:

Set Anchor V to 0 on the petal so the ellipse grows outward from its base instead of from its center. Offset stops needing to track length and becomes a constant. Pick one place to scale with pinch and make the others fixed.

Note pinch_midpoint:distance is depth-contaminated so it shrinks as your hand approaches the camera regardless of whether you're pinching. Raw tracking is instant. Lag CHOP with a fast attack and slow release makes it read as opening rather than snapping. Slower closing than opening feels organic.