knit
knit
morph="knit" — knitted yarn (match-morph-knit.ts).
Read the rig's notes
The outgoing picture turns into hand-knitted wool: stockinette V stitches,
two slanted loop lobes per stitch, each stitch's yarn sampled from the
picture, lit relief, ply twist, fuzzy hairs, dark backing yarn between.
It unravels from its top-right corner, row by row back and forth — the
stitches at the front loosen, sway and curl up — into ONE loose strand
that sags and swings across to the incoming element, which is cast on at
its bottom-left corner and knitted up row by row, each stitch growing out
of the strand. When the last stitch is on, the knit relaxes into the clean
incoming picture. The strand carries the colours of the stitches it just
left at one end and of the ones it is about to make at the other.
left chain defaults (morph=knit): 42 stitches across · stagger 0.5
right chain morph-count=30 · morph-stagger=0.85 · morph-color=#f4c27a ·
morph-spread=1.4 · morph-seed=7 (chunkier, a tinted strand,
unravel and knit overlapping more)
One scene, in-scene `morph-to` links (no cuts), so every mid-morph frame
can be shot. Each chain is a round trip, 1.8 s per hand-off:
left 1.0 → 2.8 stat card → iphone 4.0 → 5.8 iphone → card
right 1.3 → 3.1 gallery card → ipad 4.3 → 6.1 ipad → card
Camera never stops: linear kfs orbit r 800 around 0 0 0, each hand-off pair swings side to side (−18°→+26°, +21°→−20°) through a 0.92r dip at its midpoint; the poses where both wide cards are up sit at r 870 so the near card stays in frame.
Preview: http://localhost:4444/runtime?project=promos/primitives/morphs/knit.promo- Topic
- morphs
- Scenes
- 1
- Kind
- reference rig
//
morph="knit" — knitted yarn (match-morph-knit.ts).
The outgoing picture turns into hand-knitted wool: stockinette V stitches,
two slanted loop lobes per stitch, each stitch's yarn sampled from the
picture, lit relief, ply twist, fuzzy hairs, dark backing yarn between.
It unravels from its top-right corner, row by row back and forth — the
stitches at the front loosen, sway and curl up — into ONE loose strand
that sags and swings across to the incoming element, which is cast on at
its bottom-left corner and knitted up row by row, each stitch growing out
of the strand. When the last stitch is on, the knit relaxes into the clean
incoming picture. The strand carries the colours of the stitches it just
left at one end and of the ones it is about to make at the other.
left chain defaults (morph=knit): 42 stitches across · stagger 0.5
right chain morph-count=30 · morph-stagger=0.85 · morph-color=#f4c27a ·
morph-spread=1.4 · morph-seed=7 (chunkier, a tinted strand,
unravel and knit overlapping more)
One scene, in-scene `morph-to` links (no cuts), so every mid-morph frame
can be shot. Each chain is a round trip, 1.8 s per hand-off:
left 1.0 → 2.8 stat card → iphone 4.0 → 5.8 iphone → card
right 1.3 → 3.1 gallery card → ipad 4.3 → 6.1 ipad → card
Camera never stops: linear kfs orbit r 800 around 0 0 0, each hand-off pair swings side to side (−18°→+26°, +21°→−20°) through a 0.92r dip at its midpoint; the poses where both wide cards are up sit at r 870 so the near card stays in frame.
Preview: http://localhost:4444/runtime?project=promos/primitives/morphs/knit.promo
promo#morph-knit
scene#one(duration=7)
camera(type=perspective fov=42 near=8.5 far=17000 position="-304.6 227.8 793.6" look_at="0 0 0")
properties
frame
keyframes
kf(time=0 easing=linear position="-304.6 227.8 793.6" look_at="0 0 0")
kf(time=1.0 easing=linear position="-263.0 180.9 809.3" look_at="0 0 0")
kf(time=2.05 easing=linear position="-25.6 51.3 733.8" look_at="0 0 0")
kf(time=3.1 easing=linear position="349.4 -69.7 716.3" look_at="0 0 0")
kf(time=4.0 easing=linear position="286.0 55.8 745.0" look_at="0 0 0")
kf(time=5.05 easing=linear position="12.8 76.9 731.9" look_at="0 0 0")
kf(time=6.1 easing=linear position="-293.0 151.1 805.1" look_at="0 0 0")
kf(time=7 easing=linear position="-338.8 200.2 798.3" look_at="0 0 0")
background(top=#141019 bottom=#060507)
environment(hdr="studio_small_04_2k" as_background=false background_color=#060507 exposure=1.0 blurriness=0.5 intensity=0.6)
lights
light#amb(type=ambient color=#ffe9d6 intensity=0.7)
light#key(type=directional color=#ffffff intensity=2 position="340 680 510")
light#fill(type=directional color=#ffb27a intensity=0.5 position="-510 170 340")
haze#hz0(blend=add opacity=0.18 position="-900 400 -1600" color=#3b2a6e size="120000 100000" pulse=0 decay=0)
haze#hz1(blend=add opacity=0.14 position="900 -500 -1700" color=#6e3320 size="110000 90000" pulse=0 decay=0)
text#title(text="knit" kind=layer font="Roboto" size=200 worldHeight=28 color=#f3ece4 weight=700 align=center position="0 262 0")
text#sub(text="knit the picture · unravel into one strand · knit the partner up" kind=layer font="Roboto" size=110 worldHeight=13 color=#b8a798 weight=500 align=center position="0 232 0")
// ── left chain · defaults ────────────────────────────────────────────────
ui3d#stat(morph=knit morph-to=phone morph-at=1.0 morph-dur=1.8 width=600 height=440 world_width=330 position="-290 0 0")
card(x=0 y=0 w=600 h=440 r=34 fill=#0b1622 stroke=#35e0ff stroke_width=3 shadow=true layout=column align=start padding="36 0 0 36" gap=16)
card(w=hug h=hug fill=transparent shadow=false layout=row align=center gap=