Skip to content
Docs
Open Promoeyes
all-morphs

all-morphs

All morphs — every `morph=` mode (24) and the concept knobs (6), close up, one at a time, in ONE scene with a camera that never stops.

Read the rig's notes
Thirty blocks sit on a wide 6 × 5 grid (900 apart, so a close-up holds one
block alone). The camera tours them in snake order, 3.5 s each:

  arrive  Tk          on a random side of block k (azimuth ±22–40°, elevation −10…+18°)
  morph   Tk + 0.5    stat card → iphone over 1.8 s (in-scene morph-to)
  sweep   Tk → Tk+2.9 arcs past the front to a random pose on the OPPOSITE side,
                      so every transition is seen from two sides
  travel  → Tk + 3.5  glide to the next block's first side

Every segment is linear, so the camera never stops. Morphs snapshot through
the live camera on their first frame; the snapshot-based modes are pictures
laid in that frame, so from the far side of a sweep they read as a turned
picture and may settle onto the real element at the very end.

  01–06  particles · liquid · voxels · shatter · outline · extrude      (row 1, →)
  07–12  voxels3d · liquid3d · dissolve · inflate · fold · slices       (row 2, ←)
  13–18  shatter3d · slices3d · ink · ferrofluid · bloom · butterflies  (row 3, →)
  19–24  clockwork · coral · popup · geode · wrap · knit                (row 4, ←)
  25–30  chrome · sand · embers · bubble + pop · torus · gold           (row 5, knobs, →)

Preview: http://localhost:4444/runtime?project=promos/primitives/morphs/all-morphs.promo
Topic
morphs
Scenes
1
Kind
reference rig
//
    All morphs — every `morph=` mode (24) and the concept knobs (6), close up,
    one at a time, in ONE scene with a camera that never stops.

    Thirty blocks sit on a wide 6 × 5 grid (900 apart, so a close-up holds one
    block alone). The camera tours them in snake order, 3.5 s each:

      arrive  Tk          on a random side of block k (azimuth ±22–40°, elevation −10…+18°)
      morph   Tk + 0.5    stat card → iphone over 1.8 s (in-scene morph-to)
      sweep   Tk → Tk+2.9 arcs past the front to a random pose on the OPPOSITE side,
                          so every transition is seen from two sides
      travel  → Tk + 3.5  glide to the next block's first side

    Every segment is linear, so the camera never stops. Morphs snapshot through
    the live camera on their first frame; the snapshot-based modes are pictures
    laid in that frame, so from the far side of a sweep they read as a turned
    picture and may settle onto the real element at the very end.

      01–06  particles · liquid · voxels · shatter · outline · extrude      (row 1, →)
      07–12  voxels3d · liquid3d · dissolve · inflate · fold · slices       (row 2, ←)
      13–18  shatter3d · slices3d · ink · ferrofluid · bloom · butterflies  (row 3, →)
      19–24  clockwork · coral · popup · geode · wrap · knit                (row 4, ←)
      25–30  chrome · sand · embers · bubble + pop · torus · gold           (row 5, knobs, →)

    Preview: http://localhost:4444/runtime?project=promos/primitives/morphs/all-morphs.promo
promo#all-morphs
  scene#one(duration=105)
    camera(type=perspective fov=42 near=8.5 far=17000 position="-1930 1320 360" look_at="-2250 1400 0")
      properties
        frame
          keyframes
            kf(time=0 easing=linear position="-1930 1320 360" look_at="-2250 1400 0")
            // 01 particles
            kf(time=0.4 easing=linear position="-1970 1332 345" look_at="-2250 1400 0")
            kf(time=1.85 easing=linear position="-2245 1416 410" look_at="-2250 1400 0")
            kf(time=3.3 easing=linear position="-2463 1501 383" look_at="-2250 1400 0")
            // 02 liquid
            kf(time=3.9 easing=linear position="-1565 1433 394" look_at="-1350 1400 0")
            kf(time=5.35 easing=linear position="-1353 1383 410" look_at="-1350 1400 0")
            kf(time=6.8 easing=linear position="-1176 1330 409" look_at="-1350 1400 0")
            // 03 voxels
            kf(time=7.4 easing=linear position="-229 1443 390" look_at="-450 1400 0")
            kf(time=8.85 easing=linear position="-448 1390 410" look_at="-450 1400 0")
            kf(time=10.3 easing=linear position="-647 1335 399" look_at="-450 1400 0")
            // 04 shatter
            kf(time=10.9 easing=linear position="168 1450 347" look_at="450 1400 0")
            kf(time=12.35 easing=linear position="447 1393 410" look_at="450 1400 0")
            kf(time=13.8 easing=linear position="695 1335 372" look_at="450 1400 0")
            // 05 outline
            kf(time=14.4 easing=linear position="1524 1444 413" look_at="1350 1400 0")
            kf(time=15.85 easing=linear position="1348 1398 410" look_at="1350 1400 0")
            kf(time=17.3 easing=linear position="1154 1351 402" look_at="1350 1400 0")
            // 06 extrude
            kf(time=17.9 easing=linear position="2437 1389 409" look_at="2250 1400 0")
            kf(time=19.35 easing=linear position="2250 1441 408" look_at="2250 1400 0")
            kf(time=20.8 easing=linear position="2071 1500 400" look_at="2250 1400 0")
            // 07 voxels3d
            kf(time=21.4 easing=linear position="2069 663 410" look_at="2250 700 0")
            kf(time=22.85 easing=linear position="2255 719 410" look_at="2250 700 0")
            kf(time=24.3 easing=linear position="2487 778 375" look_at="2250 700 0")
            // 08 liquid3d
            kf(time=24.9 easing=linear position="1105 738 375" look_at="1350 700 0")
            kf(time=26.35 easing=linear position="1349 774 403" look_at="