dsh-drawai 0.4.2 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/lib/index.js +7777 -7719
- package/lib/motion/asset-pack.js +394 -394
- package/lib/motion/assets.js +291 -291
- package/lib/motion/demo-assets-lock.js +10 -10
- package/lib/motion/mgstyles/vendor/README.md +28 -28
- package/lib/motion/mgstyles/vendor/modules/d3/LICENSE +13 -13
- package/lib/motion/mgstyles/vendor/modules/d3/dist/d3.min.js +2 -2
- package/lib/motion/mgstyles/vendor/modules/opentype.js/LICENSE +20 -20
- package/lib/motion/mgstyles/vendor/modules/opentype.js/dist/opentype.mjs +14460 -14460
- package/lib/motion/mgstyles/vendor/modules/simplex-noise/LICENSE +21 -21
- package/lib/motion/mgstyles/vendor/modules/simplex-noise/dist/esm/simplex-noise.js +465 -465
- package/lib/motion/mgstyles/vendor/modules/topojson-client/LICENSE +13 -13
- package/lib/motion/mgstyles/vendor/modules/topojson-client/dist/topojson-client.min.js +2 -2
- package/lib/motion/render.js +179 -179
- package/lib/motion/shotcraft/upstream/SKILL.md +286 -286
- package/lib/motion/shotcraft/upstream/assets/lib/Caption.tsx +54 -54
- package/lib/motion/shotcraft/upstream/assets/lib/ClipCard.tsx +200 -200
- package/lib/motion/shotcraft/upstream/assets/lib/DigitRoll.tsx +45 -45
- package/lib/motion/shotcraft/upstream/assets/lib/FlashCut.tsx +20 -20
- package/lib/motion/shotcraft/upstream/assets/lib/FlatPanel.tsx +65 -65
- package/lib/motion/shotcraft/upstream/assets/lib/PageCam.tsx +151 -151
- package/lib/motion/shotcraft/upstream/assets/lib/VerticalTicker.tsx +129 -129
- package/lib/motion/shotcraft/upstream/assets/lib/helpers/camera.tsx +75 -75
- package/lib/motion/shotcraft/upstream/assets/lib/helpers/motion.ts +40 -40
- package/lib/motion/shotcraft/upstream/assets/lib/helpers/rand.ts +11 -11
- package/lib/motion/shotcraft/upstream/assets/lib/helpers/shake.ts +10 -10
- package/lib/motion/shotcraft/upstream/assets/scripts/build-readme-cover.mjs +49 -49
- package/lib/motion/shotcraft/upstream/assets/scripts/capture-template.mjs +210 -210
- package/lib/motion/shotcraft/upstream/assets/scripts/sfx-source.py +423 -423
- package/lib/motion/shotcraft/upstream/assets/scripts/smoke-render-demos.py +170 -170
- package/lib/motion/shotcraft/upstream/assets/scripts/test_sfx_source.py +157 -157
- package/lib/motion/shotcraft/upstream/demos/README.md +120 -120
- package/lib/motion/shotcraft/upstream/demos/_fixtures/Brand.tsx +112 -112
- package/lib/motion/shotcraft/upstream/demos/_fixtures/Fixtures.tsx +647 -647
- package/lib/motion/shotcraft/upstream/demos/_fixtures/Look.tsx +316 -316
- package/lib/motion/shotcraft/upstream/demos/_fixtures/Motion.tsx +82 -82
- package/lib/motion/shotcraft/upstream/demos/_fixtures/PageCam2D.tsx +115 -115
- package/lib/motion/shotcraft/upstream/demos/_fixtures/Polish.tsx +243 -243
- package/lib/motion/shotcraft/upstream/demos/_textures/live-layout.json +388 -388
- package/lib/motion/shotcraft/upstream/demos/camera/basic-3d-scene/Basic3DScene.tsx +250 -250
- package/lib/motion/shotcraft/upstream/demos/camera/crash-zoom-punch/CrashImpactReal.tsx +305 -305
- package/lib/motion/shotcraft/upstream/demos/camera/crash-zoom-punch/CrashZoomReal.tsx +246 -246
- package/lib/motion/shotcraft/upstream/demos/camera/cursor-flyover/CursorFlyover.tsx +390 -390
- package/lib/motion/shotcraft/upstream/demos/camera/depth-layer-moves/MultiplaneReal.tsx +138 -138
- package/lib/motion/shotcraft/upstream/demos/camera/graze-face-tour/GrazeFaceTour.tsx +542 -542
- package/lib/motion/shotcraft/upstream/demos/camera/overhead-camera-moves/OverheadTabletopDrop.tsx +315 -315
- package/lib/motion/shotcraft/upstream/demos/camera/overhead-camera-moves/TiltReveal.tsx +299 -299
- package/lib/motion/shotcraft/upstream/demos/camera/space-camera-moves/DroneDiveLanding.tsx +173 -173
- package/lib/motion/shotcraft/upstream/demos/camera/space-camera-moves/ExplodedView.tsx +348 -348
- package/lib/motion/shotcraft/upstream/demos/camera/steep-tilt-glide/SteepTiltGlide.tsx +366 -366
- package/lib/motion/shotcraft/upstream/demos/camera/tension-camera-moves/BulletTimeFreezeOrbit.tsx +279 -279
- package/lib/motion/shotcraft/upstream/demos/camera/tension-camera-moves/PullBackIsolation.tsx +184 -184
- package/lib/motion/shotcraft/upstream/demos/camera/terminal-3d/Terminal3D.tsx +390 -390
- package/lib/motion/shotcraft/upstream/demos/data/before-after-slider-scrub/BeforeAfterSliderScrub.tsx +155 -155
- package/lib/motion/shotcraft/upstream/demos/data/chart-live-moves/AxisRescaleShockV2.tsx +303 -303
- package/lib/motion/shotcraft/upstream/demos/data/chart-live-moves/OscilloscopeStreamV2.tsx +290 -290
- package/lib/motion/shotcraft/upstream/demos/data/chart-live-moves/UnitDotSwarmRegroupV2.tsx +278 -278
- package/lib/motion/shotcraft/upstream/demos/data/gauge-readout-moves/NeedleSweepSelftest.tsx +307 -307
- package/lib/motion/shotcraft/upstream/demos/data/gauge-readout-moves/TapeScrollFixedPointer.tsx +215 -215
- package/lib/motion/shotcraft/upstream/demos/data/scroll-brake-moves/BrakeReticleLock.tsx +299 -299
- package/lib/motion/shotcraft/upstream/demos/data/scroll-brake-moves/ChangelogScrollBrake.tsx +232 -232
- package/lib/motion/shotcraft/upstream/demos/data/timeline-travel/TimelineTravel.tsx +290 -290
- package/lib/motion/shotcraft/upstream/demos/effects/assemble-then-type-flyin/AssembleThenTypeFlyin.tsx +273 -273
- package/lib/motion/shotcraft/upstream/demos/effects/aurora-bloom-bg-flip/AuroraBloomBgFlip.tsx +167 -167
- package/lib/motion/shotcraft/upstream/demos/effects/brand-frame-snap/BrandFrameSnap.tsx +536 -536
- package/lib/motion/shotcraft/upstream/demos/effects/fui-hud-moves/ReticleLockOn.tsx +164 -164
- package/lib/motion/shotcraft/upstream/demos/effects/glow-flyline-moves/FlylineArc.tsx +175 -175
- package/lib/motion/shotcraft/upstream/demos/effects/glow-flyline-moves/GlowOrbAmbient.tsx +197 -197
- package/lib/motion/shotcraft/upstream/demos/effects/glow-flyline-moves/OrbFlylineRelay.tsx +241 -241
- package/lib/motion/shotcraft/upstream/demos/effects/icon-performance-moves/AttentionBounce.tsx +279 -279
- package/lib/motion/shotcraft/upstream/demos/effects/impact-feedback/AnimeImpact.tsx +230 -230
- package/lib/motion/shotcraft/upstream/demos/effects/impact-feedback/HitCounter.tsx +345 -345
- package/lib/motion/shotcraft/upstream/demos/effects/light-play-moves/SheenSweepRetry.tsx +275 -275
- package/lib/motion/shotcraft/upstream/demos/effects/light-play-moves/SpotlightSweepReveal.tsx +229 -229
- package/lib/motion/shotcraft/upstream/demos/effects/radial-ripple-phone-chips/RadialRipplePhoneChips.tsx +312 -312
- package/lib/motion/shotcraft/upstream/demos/effects/riso-print-hits/RisoMisregistrationHit.tsx +222 -222
- package/lib/motion/shotcraft/upstream/demos/effects/scan-bracket-sweep/ScanBracketSweep.tsx +295 -295
- package/lib/motion/shotcraft/upstream/demos/effects/scanline-annotate-focus/ScanlineAnnotateFocus.tsx +329 -329
- package/lib/motion/shotcraft/upstream/demos/effects/scanline-assemble-flyin/ScanlineAssembleFlyin.tsx +315 -315
- package/lib/motion/shotcraft/upstream/demos/effects/slam-entrance-moves/ImpactBurstKit.tsx +264 -264
- package/lib/motion/shotcraft/upstream/demos/effects/slam-entrance-moves/KanadaPerspectiveSnap.tsx +260 -260
- package/lib/motion/shotcraft/upstream/demos/effects/slam-entrance-moves/ScoreSlam.tsx +263 -263
- package/lib/motion/shotcraft/upstream/demos/effects/spotlight-sweep-moves/CornerSpotlightReveal.tsx +123 -123
- package/lib/motion/shotcraft/upstream/demos/effects/spotlight-sweep-moves/GlowWakeSleepPanel.tsx +187 -187
- package/lib/motion/shotcraft/upstream/demos/effects/spotlight-sweep-moves/SlideSpotlightPan.tsx +175 -175
- package/lib/motion/shotcraft/upstream/demos/interaction/autolayout-gap-dial/AutolayoutGapDial.tsx +305 -305
- package/lib/motion/shotcraft/upstream/demos/interaction/canvas-materialize-moves/DiagramCascadeBuild.tsx +350 -350
- package/lib/motion/shotcraft/upstream/demos/interaction/canvas-materialize-moves/PanelToCanvasMaterialize.tsx +352 -352
- package/lib/motion/shotcraft/upstream/demos/interaction/chip-grid-single-select-blackout/ChipGridSingleSelectBlackout.tsx +218 -218
- package/lib/motion/shotcraft/upstream/demos/interaction/collab-cursor-moves/CursorCastEnsemble.tsx +297 -297
- package/lib/motion/shotcraft/upstream/demos/interaction/glass-pill-dictation-typing/GlassPillDictationTyping.tsx +157 -157
- package/lib/motion/shotcraft/upstream/demos/interaction/hashtag-to-pill-materialize/HashtagToPillMaterialize.tsx +218 -218
- package/lib/motion/shotcraft/upstream/demos/interaction/picker-carousel-feature-cycle/PickerCarouselFeatureCycle.tsx +202 -202
- package/lib/motion/shotcraft/upstream/demos/interaction/segmented-thumb-hero/SegmentedThumbHero.tsx +265 -265
- package/lib/motion/shotcraft/upstream/demos/interaction/theme-switch-moves/PaletteThemeRipple.tsx +457 -457
- package/lib/motion/shotcraft/upstream/demos/interaction/theme-switch-moves/ThemeSweepToggle.tsx +446 -446
- package/lib/motion/shotcraft/upstream/demos/interaction/type-and-filter/TypeAndFilter.tsx +249 -249
- package/lib/motion/shotcraft/upstream/demos/interaction/voice-waveform-live/VoiceWaveformLive.tsx +278 -278
- package/lib/motion/shotcraft/upstream/demos/opening/crane-rise-reveal/CraneRiseReveal.tsx +332 -332
- package/lib/motion/shotcraft/upstream/demos/opening/dataviz-landscape-open/DatavizLandscapeOpen.tsx +358 -358
- package/lib/motion/shotcraft/upstream/demos/opening/fracture/Fracture.tsx +201 -201
- package/lib/motion/shotcraft/upstream/demos/opening/icon-field-colorize/IconFieldColorize.tsx +200 -200
- package/lib/motion/shotcraft/upstream/demos/opening/letterspace-materialize/LetterspaceMaterialize.tsx +208 -208
- package/lib/motion/shotcraft/upstream/demos/opening/magician-card-flourish/MagicianCardFlourish.tsx +341 -341
- package/lib/motion/shotcraft/upstream/demos/opening/orbit-ring-title-open/OrbitRingTitleOpen.tsx +389 -389
- package/lib/motion/shotcraft/upstream/demos/opening/spotlight-hero-card/SpotlightHeroCard.tsx +293 -293
- package/lib/motion/shotcraft/upstream/demos/opening/stroke-segment-build/StrokeSegmentBuild.tsx +183 -183
- package/lib/motion/shotcraft/upstream/demos/opening/text-as-mask/TextAsMask.tsx +245 -245
- package/lib/motion/shotcraft/upstream/demos/outro/grain-dissolve/GrainDissolve.tsx +222 -222
- package/lib/motion/shotcraft/upstream/demos/outro/logo-shrink-wordmark-lockup/LogoShrinkWordmarkLockup.tsx +223 -223
- package/lib/motion/shotcraft/upstream/demos/outro/neon-triple-marquee/NeonTripleMarquee.tsx +217 -217
- package/lib/motion/shotcraft/upstream/demos/outro/outro-group-photo-launch/OutroGroupPhotoLaunch.tsx +343 -343
- package/lib/motion/shotcraft/upstream/demos/outro/ui-strip-away-outro/UiStripAwayOutro.tsx +357 -357
- package/lib/motion/shotcraft/upstream/demos/outro/ui-to-brand-morph/IconFlipBloomLogo.tsx +187 -187
- package/lib/motion/shotcraft/upstream/demos/outro/ui-to-brand-morph/InputMorphsIntoLogo.tsx +333 -333
- package/lib/motion/shotcraft/upstream/demos/rhythm/beat-cut-moves/PaparazziFlash.tsx +274 -274
- package/lib/motion/shotcraft/upstream/demos/rhythm/beat-step-list-theme-cycle/BeatStepListThemeCycle.tsx +270 -270
- package/lib/motion/shotcraft/upstream/demos/rhythm/panel-grid-moves/ComicPanelSplit.tsx +430 -430
- package/lib/motion/shotcraft/upstream/demos/rhythm/quad-split-parallel-scenes/QuadSplitParallelScenes.tsx +252 -252
- package/lib/motion/shotcraft/upstream/demos/rhythm/rhythm-interrupt-moves/JumpCutPunchIn.tsx +106 -106
- package/lib/motion/shotcraft/upstream/demos/rhythm/sakuga-timing-shift/SakugaTimingShift.tsx +288 -288
- package/lib/motion/shotcraft/upstream/demos/rhythm/speed-ramp-freeze/FreezeAnnotateReal.tsx +362 -362
- package/lib/motion/shotcraft/upstream/demos/rhythm/trailer-grammar-moves/TrailerBumper.tsx +168 -168
- package/lib/motion/shotcraft/upstream/demos/transition/bottom-push-stack-wipe/BottomPushStackWipe.tsx +310 -310
- package/lib/motion/shotcraft/upstream/demos/transition/card-flip-reveal/CardFlipReveal.tsx +261 -261
- package/lib/motion/shotcraft/upstream/demos/transition/card-flock-tumble/CardFlockTumble.tsx +459 -459
- package/lib/motion/shotcraft/upstream/demos/transition/circle-match-iris/CircleMatchIris.tsx +294 -294
- package/lib/motion/shotcraft/upstream/demos/transition/gradient-transition/GradientTransition.tsx +161 -161
- package/lib/motion/shotcraft/upstream/demos/transition/line-carry-transition/LineCarryTransition.tsx +248 -248
- package/lib/motion/shotcraft/upstream/demos/transition/mosaic-reframe/MosaicReframe.tsx +359 -359
- package/lib/motion/shotcraft/upstream/demos/transition/page-turn-transitions/BarnDoorSplit.tsx +227 -227
- package/lib/motion/shotcraft/upstream/demos/transition/print-texture-transitions/InkBleedReveal.tsx +162 -162
- package/lib/motion/shotcraft/upstream/demos/transition/shot-transitions/PortalWipeV2.tsx +248 -248
- package/lib/motion/shotcraft/upstream/demos/transition/shot-transitions/WhipBrakeReal.tsx +186 -186
- package/lib/motion/shotcraft/upstream/demos/transition/tear-streak-transitions/GlitchDisplace.tsx +355 -355
- package/lib/motion/shotcraft/upstream/demos/transition/transition-hidden-cut/InvisibleCut.tsx +272 -272
- package/lib/motion/shotcraft/upstream/demos/transition/transition-hidden-cut/LightLeakBurn.tsx +262 -262
- package/lib/motion/shotcraft/upstream/demos/transition/transition-hidden-cut/VersusSlam.tsx +217 -217
- package/lib/motion/shotcraft/upstream/demos/transition/transition-travel/LetterformZoom.tsx +285 -285
- package/lib/motion/shotcraft/upstream/demos/transition/white-flash-logo-simplify-cut/WhiteFlashLogoSimplifyCut.tsx +205 -205
- package/lib/motion/shotcraft/upstream/demos/transition/wipe-transitions/BlindsSlice.tsx +178 -178
- package/lib/motion/shotcraft/upstream/demos/typography/blur-slide/BlurSlide.tsx +147 -147
- package/lib/motion/shotcraft/upstream/demos/typography/brace-expand/BraceExpand.tsx +143 -143
- package/lib/motion/shotcraft/upstream/demos/typography/brand-ink-open/BrandInkOpen.tsx +134 -134
- package/lib/motion/shotcraft/upstream/demos/typography/countdown-arc-scatter/CountdownArcScatter.tsx +217 -217
- package/lib/motion/shotcraft/upstream/demos/typography/flying-words/FlyingWords.tsx +198 -198
- package/lib/motion/shotcraft/upstream/demos/typography/glitch-cycle/GlitchCycle.tsx +221 -221
- package/lib/motion/shotcraft/upstream/demos/typography/gradient-word-sweep/GradientWordSweep.tsx +312 -312
- package/lib/motion/shotcraft/upstream/demos/typography/lead-word-zoom-assemble/LeadWordZoomAssemble.tsx +261 -261
- package/lib/motion/shotcraft/upstream/demos/typography/marker-underline-title/MarkerUnderlineTitle.tsx +121 -121
- package/lib/motion/shotcraft/upstream/demos/typography/outline-word-fill/OutlineWordFill.tsx +153 -153
- package/lib/motion/shotcraft/upstream/demos/typography/paper-title-card/PaperTitleCard.tsx +179 -179
- package/lib/motion/shotcraft/upstream/demos/typography/pill-chip-slot-cycle-handled/PillChipSlotCycleHandled.tsx +140 -140
- package/lib/motion/shotcraft/upstream/demos/typography/pill-slot-cycle/PillSlotCycle.tsx +309 -309
- package/lib/motion/shotcraft/upstream/demos/typography/text-column-converge/TextColumnConverge.tsx +191 -191
- package/lib/motion/shotcraft/upstream/demos/typography/title-demote-to-label/TitleDemoteToLabel.tsx +292 -292
- package/lib/motion/shotcraft/upstream/demos/typography/type-assembly-moves/LetterformDriftAssembly.tsx +135 -135
- package/lib/motion/shotcraft/upstream/demos/typography/type-assembly-moves/SplitTextStagger.tsx +124 -124
- package/lib/motion/shotcraft/upstream/demos/typography/type-assembly-moves/TextOnPath.tsx +255 -255
- package/lib/motion/shotcraft/upstream/demos/typography/type-entrance-moves/LetterDropPhysics.tsx +173 -173
- package/lib/motion/shotcraft/upstream/demos/typography/type-rhythm-sync/FontWeightPump.tsx +225 -225
- package/lib/motion/shotcraft/upstream/demos/typography/type-rhythm-sync/KaraokeFillSync.tsx +141 -141
- package/lib/motion/shotcraft/upstream/demos/typography/typewriter-moves/TypewriterErrorRetype.tsx +137 -137
- package/lib/motion/shotcraft/upstream/demos/typography/vertical-word-roll-blur-cycle/VerticalWordRollBlurCycle.tsx +147 -147
- package/lib/motion/shotcraft/upstream/demos/typography/word-relay-filmstrip/WordRelayFilmstrip.tsx +409 -409
- package/lib/motion/shotcraft/upstream/demos/typography/word-relay-geometry/WordRelayGeometry.tsx +280 -280
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/avatar-bracket-carousel/AvatarBracketCarousel.tsx +271 -271
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/bezier-source-converge-merge/BezierSourceConvergeMerge.tsx +385 -385
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/card-stack/CardStack.tsx +312 -312
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/carousel-3d/Carousel3D.tsx +303 -303
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/clipcard-looping/ClipCardLooping.tsx +77 -77
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/cloner-depth-echo/ClonerDepthEcho.tsx +311 -311
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/deck-deal-flyin/DeckDealFlyin.tsx +307 -307
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/doc-park-left-pill-deal/DocParkLeftPillDeal.tsx +349 -349
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/document-typewriter-reveal/DocumentTypewriterReveal.tsx +255 -255
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/draw-svg-trace/DrawSvgTrace.tsx +244 -244
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/element-body-moves/ContactShadowLift.tsx +217 -217
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/integration-hub-map/IntegrationHubMap.tsx +652 -652
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/list-reveal/ListReveal.tsx +153 -153
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/list-stack-press/ListStackPress.tsx +238 -238
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/neon-frame-forerun/NeonFrameForerun.tsx +324 -324
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/neon-frame-orbit-drop/NeonFrameForerunOrbit.tsx +354 -354
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/page-waterfall-wall/PageWaterfallWall.tsx +101 -101
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/page-waterfall-wall/VerticalTicker.tsx +129 -129
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/product-card-progressive-assemble/ProductCardProgressiveAssemble.tsx +297 -297
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/radial-wave/RadialWave.tsx +57 -57
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/research-card-stack-scroll/ResearchCardStackScroll.tsx +155 -155
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/row-embed/RowEmbed.tsx +175 -175
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/value-stagger-gradient/ValueStaggerGradient.tsx +153 -153
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/wall-reveal-moves/BentoLightUp.tsx +146 -146
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/wall-reveal-moves/WireframeDrawOn.tsx +226 -226
- package/lib/motion/shotcraft/upstream/gallery/api/library.json +1 -1
- package/lib/motion/shotcraft/upstream/references/aesthetic-rules.md +193 -193
- package/lib/motion/shotcraft/upstream/references/final-review.md +121 -121
- package/lib/motion/shotcraft/upstream/references/guided-free-creation.md +199 -199
- package/lib/motion/shotcraft/upstream/references/jianying-export.md +183 -183
- package/lib/motion/shotcraft/upstream/references/music-beat-sync.md +257 -257
- package/lib/motion/shotcraft/upstream/references/pipeline.md +382 -382
- package/lib/motion/shotcraft/upstream/references/publish-upload-post.md +111 -111
- package/lib/motion/shotcraft/upstream/references/sequences/promo-energy-arc.md +50 -50
- package/lib/motion/shotcraft/upstream/references/sfx-sourcing.md +95 -95
- package/lib/motion/shotcraft/upstream/references/shots/camera/basic-3d-scene.md +41 -41
- package/lib/motion/shotcraft/upstream/references/shots/camera/crash-zoom-punch.md +52 -52
- package/lib/motion/shotcraft/upstream/references/shots/camera/cursor-flyover.md +39 -39
- package/lib/motion/shotcraft/upstream/references/shots/camera/depth-layer-moves.md +39 -39
- package/lib/motion/shotcraft/upstream/references/shots/camera/graze-face-tour.md +57 -57
- package/lib/motion/shotcraft/upstream/references/shots/camera/overhead-camera-moves.md +51 -51
- package/lib/motion/shotcraft/upstream/references/shots/camera/space-camera-moves.md +46 -46
- package/lib/motion/shotcraft/upstream/references/shots/camera/steep-tilt-glide.md +52 -52
- package/lib/motion/shotcraft/upstream/references/shots/camera/tension-camera-moves.md +43 -43
- package/lib/motion/shotcraft/upstream/references/shots/camera/terminal-3d.md +42 -42
- package/lib/motion/shotcraft/upstream/references/shots/data/before-after-slider-scrub.md +48 -48
- package/lib/motion/shotcraft/upstream/references/shots/data/chart-live-moves.md +52 -52
- package/lib/motion/shotcraft/upstream/references/shots/data/gauge-readout-moves.md +45 -45
- package/lib/motion/shotcraft/upstream/references/shots/data/scroll-brake-moves.md +46 -46
- package/lib/motion/shotcraft/upstream/references/shots/data/timeline-travel.md +44 -44
- package/lib/motion/shotcraft/upstream/references/shots/effects/assemble-then-type-flyin.md +63 -63
- package/lib/motion/shotcraft/upstream/references/shots/effects/aurora-bloom-bg-flip.md +54 -54
- package/lib/motion/shotcraft/upstream/references/shots/effects/brand-frame-snap.md +58 -58
- package/lib/motion/shotcraft/upstream/references/shots/effects/fui-hud-moves.md +35 -35
- package/lib/motion/shotcraft/upstream/references/shots/effects/glow-flyline-moves.md +53 -53
- package/lib/motion/shotcraft/upstream/references/shots/effects/icon-performance-moves.md +42 -42
- package/lib/motion/shotcraft/upstream/references/shots/effects/impact-feedback.md +50 -50
- package/lib/motion/shotcraft/upstream/references/shots/effects/light-play-moves.md +46 -46
- package/lib/motion/shotcraft/upstream/references/shots/effects/radial-ripple-phone-chips.md +56 -56
- package/lib/motion/shotcraft/upstream/references/shots/effects/riso-print-hits.md +49 -49
- package/lib/motion/shotcraft/upstream/references/shots/effects/scan-bracket-sweep.md +50 -50
- package/lib/motion/shotcraft/upstream/references/shots/effects/scanline-annotate-focus.md +53 -53
- package/lib/motion/shotcraft/upstream/references/shots/effects/scanline-assemble-flyin.md +53 -53
- package/lib/motion/shotcraft/upstream/references/shots/effects/slam-entrance-moves.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/effects/spotlight-sweep-moves.md +52 -52
- package/lib/motion/shotcraft/upstream/references/shots/interaction/autolayout-gap-dial.md +60 -60
- package/lib/motion/shotcraft/upstream/references/shots/interaction/canvas-materialize-moves.md +57 -57
- package/lib/motion/shotcraft/upstream/references/shots/interaction/chip-grid-single-select-blackout.md +51 -51
- package/lib/motion/shotcraft/upstream/references/shots/interaction/collab-cursor-moves.md +41 -41
- package/lib/motion/shotcraft/upstream/references/shots/interaction/glass-pill-dictation-typing.md +53 -53
- package/lib/motion/shotcraft/upstream/references/shots/interaction/hashtag-to-pill-materialize.md +60 -60
- package/lib/motion/shotcraft/upstream/references/shots/interaction/picker-carousel-feature-cycle.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/interaction/segmented-thumb-hero.md +57 -57
- package/lib/motion/shotcraft/upstream/references/shots/interaction/theme-switch-moves.md +47 -47
- package/lib/motion/shotcraft/upstream/references/shots/interaction/type-and-filter.md +37 -37
- package/lib/motion/shotcraft/upstream/references/shots/interaction/voice-waveform-live.md +54 -54
- package/lib/motion/shotcraft/upstream/references/shots/opening/brand-ink-open.md +36 -36
- package/lib/motion/shotcraft/upstream/references/shots/opening/crane-rise-reveal.md +56 -56
- package/lib/motion/shotcraft/upstream/references/shots/opening/dataviz-landscape-open.md +56 -56
- package/lib/motion/shotcraft/upstream/references/shots/opening/fracture.md +40 -40
- package/lib/motion/shotcraft/upstream/references/shots/opening/icon-field-colorize.md +60 -60
- package/lib/motion/shotcraft/upstream/references/shots/opening/letterspace-materialize.md +57 -57
- package/lib/motion/shotcraft/upstream/references/shots/opening/magician-card-flourish.md +73 -73
- package/lib/motion/shotcraft/upstream/references/shots/opening/orbit-ring-title-open.md +87 -87
- package/lib/motion/shotcraft/upstream/references/shots/opening/spotlight-hero-card.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/opening/stroke-segment-build.md +50 -50
- package/lib/motion/shotcraft/upstream/references/shots/opening/text-as-mask.md +59 -59
- package/lib/motion/shotcraft/upstream/references/shots/outro/grain-dissolve.md +38 -38
- package/lib/motion/shotcraft/upstream/references/shots/outro/logo-shrink-wordmark-lockup.md +38 -38
- package/lib/motion/shotcraft/upstream/references/shots/outro/neon-triple-marquee.md +59 -59
- package/lib/motion/shotcraft/upstream/references/shots/outro/outro-group-photo-launch.md +39 -39
- package/lib/motion/shotcraft/upstream/references/shots/outro/ui-strip-away-outro.md +61 -61
- package/lib/motion/shotcraft/upstream/references/shots/outro/ui-to-brand-morph.md +52 -52
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/beat-cut-moves.md +50 -50
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/beat-step-list-theme-cycle.md +66 -66
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/panel-grid-moves.md +43 -43
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/quad-split-parallel-scenes.md +38 -38
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/rhythm-interrupt-moves.md +38 -38
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/sakuga-timing-shift.md +56 -56
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/speed-ramp-freeze.md +44 -44
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/trailer-grammar-moves.md +38 -38
- package/lib/motion/shotcraft/upstream/references/shots/transition/bottom-push-stack-wipe.md +63 -63
- package/lib/motion/shotcraft/upstream/references/shots/transition/card-flip-reveal.md +57 -57
- package/lib/motion/shotcraft/upstream/references/shots/transition/card-flock-tumble.md +63 -63
- package/lib/motion/shotcraft/upstream/references/shots/transition/circle-match-iris.md +58 -58
- package/lib/motion/shotcraft/upstream/references/shots/transition/gradient-transition.md +45 -45
- package/lib/motion/shotcraft/upstream/references/shots/transition/line-carry-transition.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/transition/mosaic-reframe.md +49 -49
- package/lib/motion/shotcraft/upstream/references/shots/transition/page-turn-transitions.md +42 -42
- package/lib/motion/shotcraft/upstream/references/shots/transition/print-texture-transitions.md +42 -42
- package/lib/motion/shotcraft/upstream/references/shots/transition/shot-transitions.md +45 -45
- package/lib/motion/shotcraft/upstream/references/shots/transition/tear-streak-transitions.md +48 -48
- package/lib/motion/shotcraft/upstream/references/shots/transition/transition-hidden-cut.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/transition/transition-travel.md +43 -43
- package/lib/motion/shotcraft/upstream/references/shots/transition/white-flash-logo-simplify-cut.md +41 -41
- package/lib/motion/shotcraft/upstream/references/shots/transition/wipe-transitions.md +42 -42
- package/lib/motion/shotcraft/upstream/references/shots/typography/blur-slide.md +59 -59
- package/lib/motion/shotcraft/upstream/references/shots/typography/brace-expand.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/typography/countdown-arc-scatter.md +65 -65
- package/lib/motion/shotcraft/upstream/references/shots/typography/document-typewriter-reveal.md +42 -42
- package/lib/motion/shotcraft/upstream/references/shots/typography/flying-words.md +64 -64
- package/lib/motion/shotcraft/upstream/references/shots/typography/glitch-cycle.md +64 -64
- package/lib/motion/shotcraft/upstream/references/shots/typography/gradient-word-sweep.md +54 -54
- package/lib/motion/shotcraft/upstream/references/shots/typography/lead-word-zoom-assemble.md +91 -91
- package/lib/motion/shotcraft/upstream/references/shots/typography/marker-underline-title.md +51 -51
- package/lib/motion/shotcraft/upstream/references/shots/typography/outline-word-fill.md +66 -66
- package/lib/motion/shotcraft/upstream/references/shots/typography/paper-title-card.md +38 -38
- package/lib/motion/shotcraft/upstream/references/shots/typography/pill-chip-slot-cycle-handled.md +66 -66
- package/lib/motion/shotcraft/upstream/references/shots/typography/pill-slot-cycle.md +58 -58
- package/lib/motion/shotcraft/upstream/references/shots/typography/text-column-converge.md +61 -61
- package/lib/motion/shotcraft/upstream/references/shots/typography/title-demote-to-label.md +64 -64
- package/lib/motion/shotcraft/upstream/references/shots/typography/type-assembly-moves.md +45 -45
- package/lib/motion/shotcraft/upstream/references/shots/typography/type-entrance-moves.md +41 -41
- package/lib/motion/shotcraft/upstream/references/shots/typography/type-rhythm-sync.md +51 -51
- package/lib/motion/shotcraft/upstream/references/shots/typography/typewriter-moves.md +42 -42
- package/lib/motion/shotcraft/upstream/references/shots/typography/vertical-word-roll-blur-cycle.md +63 -63
- package/lib/motion/shotcraft/upstream/references/shots/typography/word-relay-filmstrip.md +57 -57
- package/lib/motion/shotcraft/upstream/references/shots/typography/word-relay-geometry.md +75 -75
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/avatar-bracket-carousel.md +59 -59
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/bezier-source-converge-merge.md +67 -67
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/card-stack.md +60 -60
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/carousel-3d.md +66 -66
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/cloner-depth-echo.md +40 -40
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/deck-deal-flyin.md +45 -45
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/doc-park-left-pill-deal.md +62 -62
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/draw-svg-trace.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/element-body-moves.md +37 -37
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/integration-hub-map.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/list-reveal.md +50 -50
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/list-stack-press.md +43 -43
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/neon-frame-forerun.md +55 -55
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/neon-frame-orbit-drop.md +51 -51
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/page-waterfall-wall.md +51 -51
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/product-card-progressive-assemble.md +56 -56
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/radial-wave.md +49 -49
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/research-card-stack-scroll.md +57 -57
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/row-embed.md +36 -36
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/value-stagger-gradient.md +64 -64
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/wall-reveal-moves.md +47 -47
- package/lib/motion/shotcraft/upstream/references/sound-design.md +170 -170
- package/lib/motion/shotcraft/upstream/references/workbench.md +157 -157
- package/lib/motion/shotcraft/upstream/template/TEMPLATE.md +103 -103
- package/lib/motion/shotcraft/upstream/template/THEMES.md +44 -44
- package/lib/motion/shotcraft/upstream/template/package.json +20 -20
- package/lib/motion/shotcraft/upstream/template/remotion.config.ts +6 -6
- package/lib/motion/shotcraft/upstream/template/src/Root.tsx +17 -17
- package/lib/motion/shotcraft/upstream/template/src/aifl/Caption.tsx +65 -65
- package/lib/motion/shotcraft/upstream/template/src/aifl/DigitRoll.tsx +48 -48
- package/lib/motion/shotcraft/upstream/template/src/aifl/FlashCut.tsx +24 -24
- package/lib/motion/shotcraft/upstream/template/src/aifl/Main.tsx +192 -192
- package/lib/motion/shotcraft/upstream/template/src/aifl/PaperTitleCard.tsx +111 -111
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/PageCam.tsx +150 -150
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneDetail.tsx +158 -158
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneFlyIn.tsx +468 -468
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneOpen.tsx +552 -552
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneOutroLive.tsx +411 -411
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/ScenePapers.tsx +200 -200
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneWbr.tsx +324 -324
- package/lib/motion/shotcraft/upstream/template/src/aifl/live-layout.json +388 -388
- package/lib/motion/shotcraft/upstream/template/src/index.ts +4 -4
- package/lib/motion/shotcraft/upstream/template/src/themes/ThemedFilm.tsx +7 -7
- package/lib/motion/shotcraft/upstream/template/src/themes/manifest.tsx +68 -68
- package/lib/motion/shotcraft/upstream/template/src/themes/palette-assets.json +1 -1
- package/lib/motion/shotcraft/upstream/template/src/themes/palette-assets.ts +24 -24
- package/lib/motion/shotcraft/upstream/template/src/themes/palettes.json +74 -74
- package/lib/motion/shotcraft/upstream/template/src/themes/visual-theme.tsx +91 -91
- package/lib/motion/shotcraft/upstream/template/src/workbench.ts +213 -213
- package/lib/motion/shotcraft/upstream/template/tsconfig.json +15 -15
- package/lib/motion/style-frames.js +306 -306
- package/lib/motion/sync.js +214 -214
- package/lib/motion-project.js +105 -105
- package/lib/motion-render-worker.js +174 -174
- package/lib/routing/router.js +222 -222
- package/lib/routing/vendor/README.md +96 -96
- package/lib/routing/vendor/libavoid-routing.js +753 -753
- package/lib/routing/vendor/libavoid.min.js +59 -59
- package/lib/video-trace-pool.js +128 -128
- package/package.json +1 -1
- package/LICENSE +0 -4175
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gradient-transition
|
|
3
|
-
一句话: 背景在 linear、radial、conic 三类 CSS 渐变间平滑过渡——角度、色标、中心、半径逐参数插值,段间交叉淡化换类型
|
|
4
|
-
适用: 氛围底/章节底色的连续变奏;给静态排版段落提供"活着"的背景层
|
|
5
|
-
时长: 约 6.7s(200f@30fps;linear 0–2.3s · radial 1.9–4.4s · conic 3.9–6.7s)
|
|
6
|
-
能量: 低(纯背景运动,为前景内容让路)
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 意图
|
|
10
|
-
渐变不是静态贴图而是可动画的参数集:同类型渐变内部任何参数都能插值出丝滑变化,跨类型则用短交叉淡化衔接。作背景层用,给"没有主体运动"的段落一层持续的低速能量。
|
|
11
|
-
|
|
12
|
-
## 动效核心
|
|
13
|
-
- 三层各持一种渐变类型,同一时刻只有一层主导,交叉淡化窗口很窄(12–14f)且两层在窗内都在动
|
|
14
|
-
- linear 段(0–68f):角度 18°→198°(swift in-out),三档明度色标(64→40→7)在 HSL 空间三通道插值
|
|
15
|
-
(`mixH` 对 h/s/l 分别 lerp,比 RGB 不发灰)——明度拉开,亮带走向才看得出"角度在扫"
|
|
16
|
-
- radial 段(56–132f):圆心 (24%,72%)→(68%,38%) 对角迁移 + 半径 48%→80% 扩张,外圈近黑,
|
|
17
|
-
光斑像在画面里游走并聚焦
|
|
18
|
-
- conic 段(118–200f):A→B→C→A 三色环(紫 / 品红 / 冰蓝,首尾同色)`from` 0→250° 旋转,
|
|
19
|
-
慢起长尾 ease 越转越慢落定;圆心放在主体右后方 (64%,54%),外圈与文字侧再压暗
|
|
20
|
-
- **小画布作画**:三层渐变画在 480×270 上再 `transform: scale(4)` 铺满——合成期放大天然柔化,
|
|
21
|
-
conic 的 blur(9px) 在小画布上做(≈全分辨率 36px),每帧代价是全屏实时模糊的 1/16;上面叠颗粒防色带
|
|
22
|
-
- demo 前景:每段一句大字(180px),动词描述该段的参数运动(Bend light. / Focus it. / video-shotcraft 字标 + 品牌短句),
|
|
23
|
-
换句与换类型同拍;底部 mono 注记实时读出正在插值的渐变参数
|
|
24
|
-
|
|
25
|
-
## 参数表
|
|
26
|
-
| 参数 | 典型值 | 调节手感 |
|
|
27
|
-
|------|--------|----------|
|
|
28
|
-
| 段窗口重叠 | 相邻段起点比前段终点早 12f | 重叠保证淡化时两层都在动;无重叠会看到"接管瞬间静止" |
|
|
29
|
-
| 交叉淡化 | 56–68f / 118–132f(smooth in-out) | 拉宽会同屏看到两种渐变结构打架;窄淡化 + 参数同动是"换类型不换气"的关键 |
|
|
30
|
-
| HSL 插值 | h/s/l 三通道独立 lerp | 色相差 >180° 时会绕远路(如 340→160),需要短路径时给起点 +360 |
|
|
31
|
-
| 色标明度差 | linear 亮 64 / 中 40 / 暗 7 | 明度差 <20 时角度扫过读不出来,只剩一块在变色的平底 |
|
|
32
|
-
| radial 迁移 | 中心对角走位 + 半径 48%→80% | 中心不动只扩半径会读作"呼吸"不是"游走" |
|
|
33
|
-
| conic 旋转 | from 0→250°(不满一圈,ease-out 长尾) | 转满 360° 收尾与开头同帧,接循环时用;单次播放留缺口避免"回到原点"感 |
|
|
34
|
-
| 色标组 | 三段同一组紫 / 品红 / 冰蓝 | 换项目色时保持"亮色+暗色"配对结构,radial 外圈必须暗(光斑成立的前提) |
|
|
35
|
-
|
|
36
|
-
## 已知坑
|
|
37
|
-
- 这是背景卡:前景放排版/UI 时在文字一侧叠暗色 scrim(demo 左侧线性压暗 + 外圈暗角),否则 conic 段的亮色会吃掉前景对比度
|
|
38
|
-
- `radial-gradient(circle R …)` 的 R 只接受长度:写成 `circle 45%` 整条渐变失效、该段渲成纯黑——百分比半径要么换算成 px(demo 以小画布宽 480px 为 100%),要么改用 `ellipse X% Y%`
|
|
39
|
-
- CSS 渐变字符串每帧重写触发 repaint 而非 composite——大画幅 + 低端设备需实测;Remotion 服务端渲染无此顾虑
|
|
40
|
-
- conic 段用三色循环(A→B→C→A);七段彩虹色环是"演出"性质,品牌化场景别用
|
|
41
|
-
- 三段各自独立可拆用:只要 linear 段(0–68f 重归一化)就是一张"角度扫过"的极简底
|
|
42
|
-
|
|
43
|
-
## 参考实现
|
|
44
|
-
demos/transition/gradient-transition/
|
|
45
|
-
(GradientTransition.tsx)
|
|
1
|
+
---
|
|
2
|
+
name: gradient-transition
|
|
3
|
+
一句话: 背景在 linear、radial、conic 三类 CSS 渐变间平滑过渡——角度、色标、中心、半径逐参数插值,段间交叉淡化换类型
|
|
4
|
+
适用: 氛围底/章节底色的连续变奏;给静态排版段落提供"活着"的背景层
|
|
5
|
+
时长: 约 6.7s(200f@30fps;linear 0–2.3s · radial 1.9–4.4s · conic 3.9–6.7s)
|
|
6
|
+
能量: 低(纯背景运动,为前景内容让路)
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 意图
|
|
10
|
+
渐变不是静态贴图而是可动画的参数集:同类型渐变内部任何参数都能插值出丝滑变化,跨类型则用短交叉淡化衔接。作背景层用,给"没有主体运动"的段落一层持续的低速能量。
|
|
11
|
+
|
|
12
|
+
## 动效核心
|
|
13
|
+
- 三层各持一种渐变类型,同一时刻只有一层主导,交叉淡化窗口很窄(12–14f)且两层在窗内都在动
|
|
14
|
+
- linear 段(0–68f):角度 18°→198°(swift in-out),三档明度色标(64→40→7)在 HSL 空间三通道插值
|
|
15
|
+
(`mixH` 对 h/s/l 分别 lerp,比 RGB 不发灰)——明度拉开,亮带走向才看得出"角度在扫"
|
|
16
|
+
- radial 段(56–132f):圆心 (24%,72%)→(68%,38%) 对角迁移 + 半径 48%→80% 扩张,外圈近黑,
|
|
17
|
+
光斑像在画面里游走并聚焦
|
|
18
|
+
- conic 段(118–200f):A→B→C→A 三色环(紫 / 品红 / 冰蓝,首尾同色)`from` 0→250° 旋转,
|
|
19
|
+
慢起长尾 ease 越转越慢落定;圆心放在主体右后方 (64%,54%),外圈与文字侧再压暗
|
|
20
|
+
- **小画布作画**:三层渐变画在 480×270 上再 `transform: scale(4)` 铺满——合成期放大天然柔化,
|
|
21
|
+
conic 的 blur(9px) 在小画布上做(≈全分辨率 36px),每帧代价是全屏实时模糊的 1/16;上面叠颗粒防色带
|
|
22
|
+
- demo 前景:每段一句大字(180px),动词描述该段的参数运动(Bend light. / Focus it. / video-shotcraft 字标 + 品牌短句),
|
|
23
|
+
换句与换类型同拍;底部 mono 注记实时读出正在插值的渐变参数
|
|
24
|
+
|
|
25
|
+
## 参数表
|
|
26
|
+
| 参数 | 典型值 | 调节手感 |
|
|
27
|
+
|------|--------|----------|
|
|
28
|
+
| 段窗口重叠 | 相邻段起点比前段终点早 12f | 重叠保证淡化时两层都在动;无重叠会看到"接管瞬间静止" |
|
|
29
|
+
| 交叉淡化 | 56–68f / 118–132f(smooth in-out) | 拉宽会同屏看到两种渐变结构打架;窄淡化 + 参数同动是"换类型不换气"的关键 |
|
|
30
|
+
| HSL 插值 | h/s/l 三通道独立 lerp | 色相差 >180° 时会绕远路(如 340→160),需要短路径时给起点 +360 |
|
|
31
|
+
| 色标明度差 | linear 亮 64 / 中 40 / 暗 7 | 明度差 <20 时角度扫过读不出来,只剩一块在变色的平底 |
|
|
32
|
+
| radial 迁移 | 中心对角走位 + 半径 48%→80% | 中心不动只扩半径会读作"呼吸"不是"游走" |
|
|
33
|
+
| conic 旋转 | from 0→250°(不满一圈,ease-out 长尾) | 转满 360° 收尾与开头同帧,接循环时用;单次播放留缺口避免"回到原点"感 |
|
|
34
|
+
| 色标组 | 三段同一组紫 / 品红 / 冰蓝 | 换项目色时保持"亮色+暗色"配对结构,radial 外圈必须暗(光斑成立的前提) |
|
|
35
|
+
|
|
36
|
+
## 已知坑
|
|
37
|
+
- 这是背景卡:前景放排版/UI 时在文字一侧叠暗色 scrim(demo 左侧线性压暗 + 外圈暗角),否则 conic 段的亮色会吃掉前景对比度
|
|
38
|
+
- `radial-gradient(circle R …)` 的 R 只接受长度:写成 `circle 45%` 整条渐变失效、该段渲成纯黑——百分比半径要么换算成 px(demo 以小画布宽 480px 为 100%),要么改用 `ellipse X% Y%`
|
|
39
|
+
- CSS 渐变字符串每帧重写触发 repaint 而非 composite——大画幅 + 低端设备需实测;Remotion 服务端渲染无此顾虑
|
|
40
|
+
- conic 段用三色循环(A→B→C→A);七段彩虹色环是"演出"性质,品牌化场景别用
|
|
41
|
+
- 三段各自独立可拆用:只要 linear 段(0–68f 重归一化)就是一张"角度扫过"的极简底
|
|
42
|
+
|
|
43
|
+
## 参考实现
|
|
44
|
+
demos/transition/gradient-transition/
|
|
45
|
+
(GradientTransition.tsx)
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: line-carry-transition
|
|
3
|
-
一句话: 线条接力横移转场——场景 A 的进度条延伸出画,镜头跟线横移,线在移动中拐角围出场景 B 的卡框,全程无剪切
|
|
4
|
-
适用: 两个有图形亲缘的场景之间(进度条→卡框、下划线→图表轴);一支片子的招牌转场位,Catch Me If You Can 片头的图形接力
|
|
5
|
-
时长: ~6.3s / 190f(进度条走满 36f + 冲出 10f + 横移 56f + 收框 24f + 框内海报 30f + 静止 24f)
|
|
6
|
-
能量: 中
|
|
7
|
-
标签: camera
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## 意图
|
|
11
|
-
转场库三大族(穿越/藏切/体块)都在回答"场景怎么换";本卡的回答是
|
|
12
|
-
**根本不换——一条线牵着你走过去**。进度条走满后末端延伸成长线冲出
|
|
13
|
-
卡缘,镜头跟着线横移 1920px 进入新世界,线在移动中拐直角围出 B 场景
|
|
14
|
-
的卡框,框闭合、内容淡入,从头到尾观众的眼睛没离开过这条线。图形
|
|
15
|
-
连续性本身就是转场。与 match-cut 的区别:那是切点两侧形状对位——
|
|
16
|
-
终究还是切;这是连续绘制——**没有切**。线的身份要有叙事逻辑(进度条
|
|
17
|
-
"走完了"所以延伸出去),无来由的线只是装饰。
|
|
18
|
-
|
|
19
|
-
## 动效核心
|
|
20
|
-
- 3840 宽世界容器 translateX 当镜头,56–112f 移 1920px,smooth in-out(bezier .65,0,.35,1)
|
|
21
|
-
- 一条手写折线 path(进度条 648 + 冲出段 + 直角 + 720×480 矩形框,总长 4944)全程
|
|
22
|
-
dasharray evolve,分段驱动 drawn 长度
|
|
23
|
-
- **命门:横移段 drawn = 1144 + cam,线生长与镜头同速**——笔头钉在画面 x≈1480 偏右,
|
|
24
|
-
永不出画也永不落后;一旦失速,观众跟丢线就等于跟丢了转场
|
|
25
|
-
- **交接处速度连续**:进度条 ease-out 落到零速 → 满格停 6f(状态翻成完成、对勾弹出)→
|
|
26
|
-
冲出段两端零速(swift)→ 镜头 in-out 零速起步 → 收框 in-out 零速接住镜头的落点
|
|
27
|
-
- 笔头是全片唯一的强调色点(赤陶 r=14 + 晕圈),框闭合后 136–142f 消散并条件卸载(摘罩判例)
|
|
28
|
-
- 横移时世界内容(卡、点阵、展签)按镜头速度做水平运动模糊(SpeedBlur,≤16px),线与笔头在模糊层外始终锐利;
|
|
29
|
-
线经过后在线下长出制图刻度,横移中段画面里只有线时给眼睛一个速度参照
|
|
30
|
-
- B 的展签标题在框外,可以在镜头到位前后先升起;框内海报必须等框闭合(136f 起)才长出
|
|
31
|
-
|
|
32
|
-
## 参数表
|
|
33
|
-
| 参数 | 典型值 | 调节手感 |
|
|
34
|
-
|------|--------|----------|
|
|
35
|
-
| 线体 | 8px 墨色实线,方头 + 直角 miter | 太细横移中读丢;虚线读作未完成态 |
|
|
36
|
-
| 横移配比 | 1920px / 56f(均速 34px/f) | 更远的横移等比拉长时长,别提速——峰速 >80px/f 笔头开始跟丢 |
|
|
37
|
-
| 笔头位置 | 画面 x≈1480(约 77% 处偏右) | 居中读作"线追镜头";贴边一颤就出画 |
|
|
38
|
-
| 拐角 | 直角硬拐,不倒圆 | 圆角软拐丢掉制图感,Saul Bass 味就没了 |
|
|
39
|
-
| 框闭合 | 闭合帧起框内内容再出 | 框没闭合内容先出,线的悬念白搭 |
|
|
40
|
-
| 收尾 | 海报长完后 ≥24f 真静止 | 笔头墨点必须条件卸载,残留即毁静止 |
|
|
41
|
-
|
|
42
|
-
## 已知坑
|
|
43
|
-
- demo 是手搓的 video-shotcraft 渲染场景(米色纸 + 墨 + 赤陶;A 渲染发布片进度卡 → B 这支片的海报)——参数是调校起点非实战定稿,
|
|
44
|
-
首次实战须以真实素材回验
|
|
45
|
-
- 与 draw-svg-trace 的关系:那是元素级描边点名(线属于元素),这是
|
|
46
|
-
场景级线条接力(线属于镜头)——同片可共存,但线的语义要一致:
|
|
47
|
-
同为 ink 8px 几何硬线,或同为手绘感,混用读作两套美术
|
|
48
|
-
- 全片 ≤1 次——这是招牌转场不是常规转场,第二次出现魔法就穿帮
|
|
49
|
-
- 起点必须是已有图形构件的自然延伸(进度条走满、下划线画完),
|
|
50
|
-
凭空起线读作屏保
|
|
51
|
-
- 声音:线生长一声持续笔擦、框闭合一声轻叩(sound-design §4.5)
|
|
52
|
-
|
|
53
|
-
## 参考实现
|
|
54
|
-
demos/transition/line-carry-transition/
|
|
55
|
-
(LineCarryTransition.tsx)
|
|
1
|
+
---
|
|
2
|
+
name: line-carry-transition
|
|
3
|
+
一句话: 线条接力横移转场——场景 A 的进度条延伸出画,镜头跟线横移,线在移动中拐角围出场景 B 的卡框,全程无剪切
|
|
4
|
+
适用: 两个有图形亲缘的场景之间(进度条→卡框、下划线→图表轴);一支片子的招牌转场位,Catch Me If You Can 片头的图形接力
|
|
5
|
+
时长: ~6.3s / 190f(进度条走满 36f + 冲出 10f + 横移 56f + 收框 24f + 框内海报 30f + 静止 24f)
|
|
6
|
+
能量: 中
|
|
7
|
+
标签: camera
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 意图
|
|
11
|
+
转场库三大族(穿越/藏切/体块)都在回答"场景怎么换";本卡的回答是
|
|
12
|
+
**根本不换——一条线牵着你走过去**。进度条走满后末端延伸成长线冲出
|
|
13
|
+
卡缘,镜头跟着线横移 1920px 进入新世界,线在移动中拐直角围出 B 场景
|
|
14
|
+
的卡框,框闭合、内容淡入,从头到尾观众的眼睛没离开过这条线。图形
|
|
15
|
+
连续性本身就是转场。与 match-cut 的区别:那是切点两侧形状对位——
|
|
16
|
+
终究还是切;这是连续绘制——**没有切**。线的身份要有叙事逻辑(进度条
|
|
17
|
+
"走完了"所以延伸出去),无来由的线只是装饰。
|
|
18
|
+
|
|
19
|
+
## 动效核心
|
|
20
|
+
- 3840 宽世界容器 translateX 当镜头,56–112f 移 1920px,smooth in-out(bezier .65,0,.35,1)
|
|
21
|
+
- 一条手写折线 path(进度条 648 + 冲出段 + 直角 + 720×480 矩形框,总长 4944)全程
|
|
22
|
+
dasharray evolve,分段驱动 drawn 长度
|
|
23
|
+
- **命门:横移段 drawn = 1144 + cam,线生长与镜头同速**——笔头钉在画面 x≈1480 偏右,
|
|
24
|
+
永不出画也永不落后;一旦失速,观众跟丢线就等于跟丢了转场
|
|
25
|
+
- **交接处速度连续**:进度条 ease-out 落到零速 → 满格停 6f(状态翻成完成、对勾弹出)→
|
|
26
|
+
冲出段两端零速(swift)→ 镜头 in-out 零速起步 → 收框 in-out 零速接住镜头的落点
|
|
27
|
+
- 笔头是全片唯一的强调色点(赤陶 r=14 + 晕圈),框闭合后 136–142f 消散并条件卸载(摘罩判例)
|
|
28
|
+
- 横移时世界内容(卡、点阵、展签)按镜头速度做水平运动模糊(SpeedBlur,≤16px),线与笔头在模糊层外始终锐利;
|
|
29
|
+
线经过后在线下长出制图刻度,横移中段画面里只有线时给眼睛一个速度参照
|
|
30
|
+
- B 的展签标题在框外,可以在镜头到位前后先升起;框内海报必须等框闭合(136f 起)才长出
|
|
31
|
+
|
|
32
|
+
## 参数表
|
|
33
|
+
| 参数 | 典型值 | 调节手感 |
|
|
34
|
+
|------|--------|----------|
|
|
35
|
+
| 线体 | 8px 墨色实线,方头 + 直角 miter | 太细横移中读丢;虚线读作未完成态 |
|
|
36
|
+
| 横移配比 | 1920px / 56f(均速 34px/f) | 更远的横移等比拉长时长,别提速——峰速 >80px/f 笔头开始跟丢 |
|
|
37
|
+
| 笔头位置 | 画面 x≈1480(约 77% 处偏右) | 居中读作"线追镜头";贴边一颤就出画 |
|
|
38
|
+
| 拐角 | 直角硬拐,不倒圆 | 圆角软拐丢掉制图感,Saul Bass 味就没了 |
|
|
39
|
+
| 框闭合 | 闭合帧起框内内容再出 | 框没闭合内容先出,线的悬念白搭 |
|
|
40
|
+
| 收尾 | 海报长完后 ≥24f 真静止 | 笔头墨点必须条件卸载,残留即毁静止 |
|
|
41
|
+
|
|
42
|
+
## 已知坑
|
|
43
|
+
- demo 是手搓的 video-shotcraft 渲染场景(米色纸 + 墨 + 赤陶;A 渲染发布片进度卡 → B 这支片的海报)——参数是调校起点非实战定稿,
|
|
44
|
+
首次实战须以真实素材回验
|
|
45
|
+
- 与 draw-svg-trace 的关系:那是元素级描边点名(线属于元素),这是
|
|
46
|
+
场景级线条接力(线属于镜头)——同片可共存,但线的语义要一致:
|
|
47
|
+
同为 ink 8px 几何硬线,或同为手绘感,混用读作两套美术
|
|
48
|
+
- 全片 ≤1 次——这是招牌转场不是常规转场,第二次出现魔法就穿帮
|
|
49
|
+
- 起点必须是已有图形构件的自然延伸(进度条走满、下划线画完),
|
|
50
|
+
凭空起线读作屏保
|
|
51
|
+
- 声音:线生长一声持续笔擦、框闭合一声轻叩(sound-design §4.5)
|
|
52
|
+
|
|
53
|
+
## 参考实现
|
|
54
|
+
demos/transition/line-carry-transition/
|
|
55
|
+
(LineCarryTransition.tsx)
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: mosaic-reframe
|
|
3
|
-
一句话: 12 张瓦片在规则网格、feature mosaic、对角瀑布串三种排版间连续变形,位置宽高各自插值、逐片微错峰,段间留 hold
|
|
4
|
-
适用: "同一批内容多种看法"的陈列转场:作品集/模板库/相册产品的布局能力展示
|
|
5
|
-
时长: 约 7.1s(214f@30fps;浮现 0–22f · hold A · A→B 56–92f · hold B · B→C 132–176f · hold C 至 214f)
|
|
6
|
-
能量: 中(连续流动的重排,无爆点,气质从容)
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 意图
|
|
10
|
-
让观众看见"布局本身在思考":同样 12 张内容,从整齐档案态(网格)变成有主次的策展态(feature mosaic),再变成有态度的动态态(对角瀑布)。## 动效核心
|
|
11
|
-
- 三套布局按 1920×1080 原生像素硬编码为坐标表(内容区 x 96–1824、y 212–984):A=4×3 规则网格(间距 24);
|
|
12
|
-
B=6×4 单元格 mosaic(首片占 3×2 大位,间距 16);C=竖幅相纸 300×372 沿 (850,214)→(1724,930) 对角摊开,
|
|
13
|
-
`rot = −15° + i·3°` 递增旋转
|
|
14
|
-
- 每片对中心 x/y、w/h、rot **独立插值**,不走 transform 整体缩放——宽高真实变化,圆角阴影不变形;
|
|
15
|
-
位置先到:w/h 晚 2f、旋转晚 4f 收敛,B→C 的旋转带一次轻过冲(bezier 0.45,0,0.3,1.22)
|
|
16
|
-
- 换位曲线 bezier(0.75,0,0.15,1)(慢起 → 急走 → 长尾软落),A→B 每片 26f、B→C 每片 30f;
|
|
17
|
-
途中按段进度 sin 包络抬起(放大 3.5% + 阴影变大变虚),落位贴回
|
|
18
|
-
- 因果驱动:右上角分段控件 Grid / Mosaic / Cascade 的强调色胶囊先滑到下一档(snappy 12f,途中横向拉长),
|
|
19
|
-
瓦片晚 4f 才开始重排(父先动、子跟随)
|
|
20
|
-
- 错峰:A→B 按序号先密后疏扫过(10f 跨度);B→C 像发牌一样等间隔依次摊开(14f 跨度),
|
|
21
|
-
B→C 起叠放次序切换为"后发的压上面"(B 态无重叠,切换不可见)
|
|
22
|
-
- 三态三种语气:B 态主图压衬线大字图注(Featured shot / Golden Hour / Shot 01 · Crash zoom · 4.5 s 逐词升起);
|
|
23
|
-
C 态瓦片长出 14px 相纸白边,左下留白处升起衬线大标题 + 副行,尾帧是完整海报
|
|
24
|
-
(demo 是 video-shotcraft 的 12 镜分镜板:页眉标志 + 字标 + Storyboard,收尾「Every shot, in sequence.」+ 品牌 tagline)
|
|
25
|
-
- 开场:12 张照片沿对角线错峰升起(16f snappy),全程相机极缓推近 1→1.025
|
|
26
|
-
|
|
27
|
-
## 参数表
|
|
28
|
-
| 参数 | 典型值 | 调节手感 |
|
|
29
|
-
|------|--------|----------|
|
|
30
|
-
| 段时长 / hold | A→B 26f、B→C 30f;hold A 30f、B 36f、C 34f | hold 是读版面的呼吸位,压到 <20f 三段糊成一段 |
|
|
31
|
-
| 控件→瓦片滞后 | 4f | 0 = 读不出因果;>8f 像控件失灵 |
|
|
32
|
-
| 错峰跨度 | A→B 10f、B→C 14f | 0 = 整版机械闪变;>24f 波浪抢过版面本身 |
|
|
33
|
-
| 瀑布参数 | 相纸 300×372,中心间距约 (79,65)px,rot −15°+3°/片 | 旋转递增是"串"的灵魂;等角会退化成斜排网格 |
|
|
34
|
-
| mosaic 大位 | 首片 3×2 单元格 | 换 slots 表可重排主次;保证有一块 ≥2×2 的锚点位 |
|
|
35
|
-
| 抬起包络 | scale +3.5%、阴影 elevation 6→40 | 太大像弹窗乱飞,0 读作平面滑块 |
|
|
36
|
-
| 瓦片内容 | SVG 程序照片(viewBox + slice ≈ cover,八式暖调胶片风) | 换真实照片时保留 overflow:hidden 圆角容器 + object-fit: cover |
|
|
37
|
-
|
|
38
|
-
## 已知坑
|
|
39
|
-
- 中心/宽高独立插值意味着**不能**换成 `transform: scale`——宽高动画会引发子元素重排,图片要用 `object-fit: cover`
|
|
40
|
-
- C 段末片有意越出画框底边,画框裁切是构图的一部分;C 的对角线要避开左上字标和右上控件,左下留给标题
|
|
41
|
-
- 竖幅相纸会把横幅照片裁成中间一条:照片主体放画面水平中心附近;主图的太阳偏右,给左下图注让位
|
|
42
|
-
- 叠放次序只能在"无重叠"的态切换(B→C 起跳帧),在重叠中途换 zIndex 会看到瓦片跳层
|
|
43
|
-
- 段窗口 + 错峰 + 滞后叠加后末片 B→C 约 176f 才落定,再加段落需压缩前段而不是顺延
|
|
44
|
-
|
|
45
|
-
缩前段而不是顺延(保证 t=1 前全部落定)
|
|
46
|
-
|
|
47
|
-
## 参考实现
|
|
48
|
-
demos/transition/mosaic-reframe/
|
|
49
|
-
(MosaicReframe.tsx)
|
|
1
|
+
---
|
|
2
|
+
name: mosaic-reframe
|
|
3
|
+
一句话: 12 张瓦片在规则网格、feature mosaic、对角瀑布串三种排版间连续变形,位置宽高各自插值、逐片微错峰,段间留 hold
|
|
4
|
+
适用: "同一批内容多种看法"的陈列转场:作品集/模板库/相册产品的布局能力展示
|
|
5
|
+
时长: 约 7.1s(214f@30fps;浮现 0–22f · hold A · A→B 56–92f · hold B · B→C 132–176f · hold C 至 214f)
|
|
6
|
+
能量: 中(连续流动的重排,无爆点,气质从容)
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 意图
|
|
10
|
+
让观众看见"布局本身在思考":同样 12 张内容,从整齐档案态(网格)变成有主次的策展态(feature mosaic),再变成有态度的动态态(对角瀑布)。## 动效核心
|
|
11
|
+
- 三套布局按 1920×1080 原生像素硬编码为坐标表(内容区 x 96–1824、y 212–984):A=4×3 规则网格(间距 24);
|
|
12
|
+
B=6×4 单元格 mosaic(首片占 3×2 大位,间距 16);C=竖幅相纸 300×372 沿 (850,214)→(1724,930) 对角摊开,
|
|
13
|
+
`rot = −15° + i·3°` 递增旋转
|
|
14
|
+
- 每片对中心 x/y、w/h、rot **独立插值**,不走 transform 整体缩放——宽高真实变化,圆角阴影不变形;
|
|
15
|
+
位置先到:w/h 晚 2f、旋转晚 4f 收敛,B→C 的旋转带一次轻过冲(bezier 0.45,0,0.3,1.22)
|
|
16
|
+
- 换位曲线 bezier(0.75,0,0.15,1)(慢起 → 急走 → 长尾软落),A→B 每片 26f、B→C 每片 30f;
|
|
17
|
+
途中按段进度 sin 包络抬起(放大 3.5% + 阴影变大变虚),落位贴回
|
|
18
|
+
- 因果驱动:右上角分段控件 Grid / Mosaic / Cascade 的强调色胶囊先滑到下一档(snappy 12f,途中横向拉长),
|
|
19
|
+
瓦片晚 4f 才开始重排(父先动、子跟随)
|
|
20
|
+
- 错峰:A→B 按序号先密后疏扫过(10f 跨度);B→C 像发牌一样等间隔依次摊开(14f 跨度),
|
|
21
|
+
B→C 起叠放次序切换为"后发的压上面"(B 态无重叠,切换不可见)
|
|
22
|
+
- 三态三种语气:B 态主图压衬线大字图注(Featured shot / Golden Hour / Shot 01 · Crash zoom · 4.5 s 逐词升起);
|
|
23
|
+
C 态瓦片长出 14px 相纸白边,左下留白处升起衬线大标题 + 副行,尾帧是完整海报
|
|
24
|
+
(demo 是 video-shotcraft 的 12 镜分镜板:页眉标志 + 字标 + Storyboard,收尾「Every shot, in sequence.」+ 品牌 tagline)
|
|
25
|
+
- 开场:12 张照片沿对角线错峰升起(16f snappy),全程相机极缓推近 1→1.025
|
|
26
|
+
|
|
27
|
+
## 参数表
|
|
28
|
+
| 参数 | 典型值 | 调节手感 |
|
|
29
|
+
|------|--------|----------|
|
|
30
|
+
| 段时长 / hold | A→B 26f、B→C 30f;hold A 30f、B 36f、C 34f | hold 是读版面的呼吸位,压到 <20f 三段糊成一段 |
|
|
31
|
+
| 控件→瓦片滞后 | 4f | 0 = 读不出因果;>8f 像控件失灵 |
|
|
32
|
+
| 错峰跨度 | A→B 10f、B→C 14f | 0 = 整版机械闪变;>24f 波浪抢过版面本身 |
|
|
33
|
+
| 瀑布参数 | 相纸 300×372,中心间距约 (79,65)px,rot −15°+3°/片 | 旋转递增是"串"的灵魂;等角会退化成斜排网格 |
|
|
34
|
+
| mosaic 大位 | 首片 3×2 单元格 | 换 slots 表可重排主次;保证有一块 ≥2×2 的锚点位 |
|
|
35
|
+
| 抬起包络 | scale +3.5%、阴影 elevation 6→40 | 太大像弹窗乱飞,0 读作平面滑块 |
|
|
36
|
+
| 瓦片内容 | SVG 程序照片(viewBox + slice ≈ cover,八式暖调胶片风) | 换真实照片时保留 overflow:hidden 圆角容器 + object-fit: cover |
|
|
37
|
+
|
|
38
|
+
## 已知坑
|
|
39
|
+
- 中心/宽高独立插值意味着**不能**换成 `transform: scale`——宽高动画会引发子元素重排,图片要用 `object-fit: cover`
|
|
40
|
+
- C 段末片有意越出画框底边,画框裁切是构图的一部分;C 的对角线要避开左上字标和右上控件,左下留给标题
|
|
41
|
+
- 竖幅相纸会把横幅照片裁成中间一条:照片主体放画面水平中心附近;主图的太阳偏右,给左下图注让位
|
|
42
|
+
- 叠放次序只能在"无重叠"的态切换(B→C 起跳帧),在重叠中途换 zIndex 会看到瓦片跳层
|
|
43
|
+
- 段窗口 + 错峰 + 滞后叠加后末片 B→C 约 176f 才落定,再加段落需压缩前段而不是顺延
|
|
44
|
+
|
|
45
|
+
缩前段而不是顺延(保证 t=1 前全部落定)
|
|
46
|
+
|
|
47
|
+
## 参考实现
|
|
48
|
+
demos/transition/mosaic-reframe/
|
|
49
|
+
(MosaicReframe.tsx)
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: page-turn-transitions
|
|
3
|
-
一句话: 整页体块转场——barn-door-split 对开门裂幕(旧页裂两半滑出、新页迎上)
|
|
4
|
-
适用: 章节级换页:新旧交替的两个大段落之间的"翻篇"仪式;与 shot-transitions 系(镜头交棒)分工——那是"航拍机移过去",这是"页面自己是实体"
|
|
5
|
-
时长: 单式 150f(前态建立 30–40f + 转场 24–40f + 跟随与收尾 ≥70f),约 5.0s
|
|
6
|
-
能量: 中高
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 意图
|
|
10
|
-
shot-transitions 三式和 transition-travel/hidden-cut 都把页面当"场景"
|
|
11
|
-
——相机在场景间移动。本卡把页面当**实体**:它有厚度、有重量、会
|
|
12
|
-
裂开。体块隐喻的仪式感更强,适合章节级大换页(功能 A 讲完→功能 B)
|
|
13
|
-
而非镜头级小交棒。对开门是"旧的让位"——旧页从正中撕开滑走、新页
|
|
14
|
-
从底下迎上来,暗示取代关系,专管新旧交替。
|
|
15
|
-
|
|
16
|
-
## 单式选型
|
|
17
|
-
| 式 | 做法 | 适用 |
|
|
18
|
-
|----|------|------|
|
|
19
|
-
| A barn-door-split | 旧页两个 960px overflow 容器对位拼合,同时向外 ease-in 加速滑出画外(按速度挂横向运动模糊);裂缝里透出新页的光——门内缘 10px 切面被照亮、门面近缝处被光染暖,新页带一次过曝光束 scale 1.08→1 迎上;demo 为同版式的 video-shotcraft 版本更替:「Shotcraft 3」冷灰旧页 → 「Shotcraft 4」余烬发布页(眉题挂镜刻标志),数据从旧值滚到新值(示意值) | 新旧交替:改版前后、方案 A→方案 B、版本发布 |
|
|
20
|
-
|
|
21
|
-
## 参数表
|
|
22
|
-
| 参数 | 典型值 | 调节手感 |
|
|
23
|
-
|------|--------|----------|
|
|
24
|
-
| 预告 | 裂前中缝一条发丝亮线(带泛光)自中点向上下描出(20–30f),30–40f 裂缝 ease-in 撑开 0→16px 成一道光缝 | 直接裂开观众没看到裂点在哪;硬开关闪线读作渲染故障 |
|
|
25
|
-
| 滑出 | 各 translateX ∓1000px / 24f,bezier(0.42,0,0.8,0.25) 加速 | ease-out 滑出是"被推走",ease-in 才是"让位";quart-in 太猛会读作"停住→最后一帧消失" |
|
|
26
|
-
| 新页迎上 | scale 1.08→1(snappy 36f,晚门 2f 起跳),过曝光束随门远去 ~30f 衰减;新旧两页同版式同槽位 | 新旧页版式不同就读不出"取代" |
|
|
27
|
-
| 撕裂边 | 内边缘 10px 受光切面(亮→强调色→暗)+ 门面近缝 620px 光染(screen),门不向新页投影 | 无边线两半读作普通左右擦除;门往缝里投影会把光压灰 |
|
|
28
|
-
| 收尾 | 新页落定后跟随动作(数据滚动 / 清单打勾)+ hold ≥30f,hold 段相机极缓推近 1.5–2% | R1 |
|
|
29
|
-
|
|
30
|
-
## 已知坑
|
|
31
|
-
- demo 在为镜头手搓的页面上调校——参数是调校起点非实战定稿,
|
|
32
|
-
首次实战须以真实素材回验
|
|
33
|
-
- 一缝一式规矩同 shot-transitions;体块转场比镜头交棒更重,
|
|
34
|
-
**全片 ≤2 次**,连续两缝都用体块读作 PPT 翻页
|
|
35
|
-
- 两半必须**对位拼合无缝**(右半内层 translateX(−960px))——
|
|
36
|
-
静止时看出接缝就穿帮;真实截图注意奇数宽度取整
|
|
37
|
-
- 转场前后两页都要有 ≥30f 静止建立/收尾——两端都在动,体块感被
|
|
38
|
-
运动淹没
|
|
39
|
-
|
|
40
|
-
## 参考实现
|
|
41
|
-
demos/transition/page-turn-transitions/
|
|
42
|
-
(BarnDoorSplit.tsx)
|
|
1
|
+
---
|
|
2
|
+
name: page-turn-transitions
|
|
3
|
+
一句话: 整页体块转场——barn-door-split 对开门裂幕(旧页裂两半滑出、新页迎上)
|
|
4
|
+
适用: 章节级换页:新旧交替的两个大段落之间的"翻篇"仪式;与 shot-transitions 系(镜头交棒)分工——那是"航拍机移过去",这是"页面自己是实体"
|
|
5
|
+
时长: 单式 150f(前态建立 30–40f + 转场 24–40f + 跟随与收尾 ≥70f),约 5.0s
|
|
6
|
+
能量: 中高
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 意图
|
|
10
|
+
shot-transitions 三式和 transition-travel/hidden-cut 都把页面当"场景"
|
|
11
|
+
——相机在场景间移动。本卡把页面当**实体**:它有厚度、有重量、会
|
|
12
|
+
裂开。体块隐喻的仪式感更强,适合章节级大换页(功能 A 讲完→功能 B)
|
|
13
|
+
而非镜头级小交棒。对开门是"旧的让位"——旧页从正中撕开滑走、新页
|
|
14
|
+
从底下迎上来,暗示取代关系,专管新旧交替。
|
|
15
|
+
|
|
16
|
+
## 单式选型
|
|
17
|
+
| 式 | 做法 | 适用 |
|
|
18
|
+
|----|------|------|
|
|
19
|
+
| A barn-door-split | 旧页两个 960px overflow 容器对位拼合,同时向外 ease-in 加速滑出画外(按速度挂横向运动模糊);裂缝里透出新页的光——门内缘 10px 切面被照亮、门面近缝处被光染暖,新页带一次过曝光束 scale 1.08→1 迎上;demo 为同版式的 video-shotcraft 版本更替:「Shotcraft 3」冷灰旧页 → 「Shotcraft 4」余烬发布页(眉题挂镜刻标志),数据从旧值滚到新值(示意值) | 新旧交替:改版前后、方案 A→方案 B、版本发布 |
|
|
20
|
+
|
|
21
|
+
## 参数表
|
|
22
|
+
| 参数 | 典型值 | 调节手感 |
|
|
23
|
+
|------|--------|----------|
|
|
24
|
+
| 预告 | 裂前中缝一条发丝亮线(带泛光)自中点向上下描出(20–30f),30–40f 裂缝 ease-in 撑开 0→16px 成一道光缝 | 直接裂开观众没看到裂点在哪;硬开关闪线读作渲染故障 |
|
|
25
|
+
| 滑出 | 各 translateX ∓1000px / 24f,bezier(0.42,0,0.8,0.25) 加速 | ease-out 滑出是"被推走",ease-in 才是"让位";quart-in 太猛会读作"停住→最后一帧消失" |
|
|
26
|
+
| 新页迎上 | scale 1.08→1(snappy 36f,晚门 2f 起跳),过曝光束随门远去 ~30f 衰减;新旧两页同版式同槽位 | 新旧页版式不同就读不出"取代" |
|
|
27
|
+
| 撕裂边 | 内边缘 10px 受光切面(亮→强调色→暗)+ 门面近缝 620px 光染(screen),门不向新页投影 | 无边线两半读作普通左右擦除;门往缝里投影会把光压灰 |
|
|
28
|
+
| 收尾 | 新页落定后跟随动作(数据滚动 / 清单打勾)+ hold ≥30f,hold 段相机极缓推近 1.5–2% | R1 |
|
|
29
|
+
|
|
30
|
+
## 已知坑
|
|
31
|
+
- demo 在为镜头手搓的页面上调校——参数是调校起点非实战定稿,
|
|
32
|
+
首次实战须以真实素材回验
|
|
33
|
+
- 一缝一式规矩同 shot-transitions;体块转场比镜头交棒更重,
|
|
34
|
+
**全片 ≤2 次**,连续两缝都用体块读作 PPT 翻页
|
|
35
|
+
- 两半必须**对位拼合无缝**(右半内层 translateX(−960px))——
|
|
36
|
+
静止时看出接缝就穿帮;真实截图注意奇数宽度取整
|
|
37
|
+
- 转场前后两页都要有 ≥30f 静止建立/收尾——两端都在动,体块感被
|
|
38
|
+
运动淹没
|
|
39
|
+
|
|
40
|
+
## 参考实现
|
|
41
|
+
demos/transition/page-turn-transitions/
|
|
42
|
+
(BarnDoorSplit.tsx)
|
package/lib/motion/shotcraft/upstream/references/shots/transition/print-texture-transitions.md
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: print-texture-transitions
|
|
3
|
-
一句话: 印刷质感转场——ink-bleed-reveal 墨渗揭示(须状渗边洇开吃掉旧景)
|
|
4
|
-
适用: 换景接缝的纸墨审美款;与交棒三式/穿越式并列的第三族——"介质显影"型转场
|
|
5
|
-
时长: 4–4.5s(洇开段 55–80f + 静止收尾 ≥30f)
|
|
6
|
-
能量: 中(渐进显形,无冲击拍)
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 意图
|
|
10
|
-
转场语言已有交棒(shot-transitions 三式)和穿越(transition-travel)
|
|
11
|
-
,都是空间/光学隐喻。本式开第三族:**介质隐喻**——新画面不是"到来"
|
|
12
|
-
而是"印染"出来的,直接调用库内纸墨审美的物理想象:像一滴墨落在
|
|
13
|
-
宣纸上洇开吃掉旧景,有机、书写感。天然亲和 paper/ink 调性的片子,
|
|
14
|
-
是 light-leak-burn(强调色漏光)之外的另一个"介质系"接缝选择。
|
|
15
|
-
|
|
16
|
-
## 单式选型
|
|
17
|
-
| 式 | 做法 | 适用 |
|
|
18
|
-
|----|------|------|
|
|
19
|
-
| A ink-bleed-reveal 墨渗揭示 | 新页透过须状渗边的有机圆形遮罩从落墨点洇开,快慢不匀吃掉旧景 | 旧景→新景替换;书写感、叙事调性 |
|
|
20
|
-
|
|
21
|
-
## 参数表
|
|
22
|
-
| 参数 | 典型值 | 调节手感 |
|
|
23
|
-
|------|--------|----------|
|
|
24
|
-
| 渗边 | SVG mask 白圆挂 `feTurbulence(fractalNoise, baseFrequency 0.02, octaves 3, seed 固定)` + `feDisplacementMap scale 60→160 随帧涨` | filter 只揉遮罩形状、内容始终清晰;seed 必须写死(确定性) |
|
|
25
|
-
| 洇开 | 半径 [20,98f]→[0,1450px] Easing.out(quad),乘 `1+0.08·sin(0.32f)·env` 快慢不匀扰动(env 末 20f 衰减归零) | 匀速圆扩张读作普通 iris——扰动即"墨的脾气" |
|
|
26
|
-
| 墨边 | 两层遮罩圆领先新景 20–42px:外沿 0.42 不透明 + 3.2px 羽化、内芯 0.86 + 1px 羽化,再外一圈 +110px 重羽化湿晕(0.12);14–22f 先落一个小墨点 | 无墨边读作普通 iris 擦除;墨边太宽太实读作烧纸洞 |
|
|
27
|
-
| 显影 | 新景在遮罩内 scale 1.035→1(20–100f ease-out),摘罩前精确回到 1 | 不收会在摘罩帧跳一下 |
|
|
28
|
-
| 收尾摘罩 | 洇满后(帧 ~100)摘掉 SVG mask 直接铺新景 | feTurbulence 有亚像素抖动,不摘则结尾永不真静止(本批实渲判例) |
|
|
29
|
-
| 收尾 | 新景就位后真静止 ≥30f | R1 |
|
|
30
|
-
|
|
31
|
-
## 已知坑
|
|
32
|
-
- demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
|
|
33
|
-
首次实战须以真实素材回验
|
|
34
|
-
- 一缝一式规矩同 shot-transitions:介质转场不与白闪/震屏叠加;
|
|
35
|
-
本式与 light-leak-burn 介质系同片合计 ≤2 次,多了片子读作印刷厂宣传
|
|
36
|
-
- 洇开中段旧景内容会透过噪声孔洞碎片式短暂露出——读作墨渍肌理
|
|
37
|
-
属可接受有机效果,但旧景若是人脸/logo 等高辨识元素会读作故障,避开
|
|
38
|
-
- 慢转场(55–80f 动作段),高节奏连打段落别用——那里去 shot-transitions B 式甩镜
|
|
39
|
-
|
|
40
|
-
## 参考实现
|
|
41
|
-
demos/transition/print-texture-transitions/
|
|
42
|
-
(InkBleedReveal.tsx)
|
|
1
|
+
---
|
|
2
|
+
name: print-texture-transitions
|
|
3
|
+
一句话: 印刷质感转场——ink-bleed-reveal 墨渗揭示(须状渗边洇开吃掉旧景)
|
|
4
|
+
适用: 换景接缝的纸墨审美款;与交棒三式/穿越式并列的第三族——"介质显影"型转场
|
|
5
|
+
时长: 4–4.5s(洇开段 55–80f + 静止收尾 ≥30f)
|
|
6
|
+
能量: 中(渐进显形,无冲击拍)
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 意图
|
|
10
|
+
转场语言已有交棒(shot-transitions 三式)和穿越(transition-travel)
|
|
11
|
+
,都是空间/光学隐喻。本式开第三族:**介质隐喻**——新画面不是"到来"
|
|
12
|
+
而是"印染"出来的,直接调用库内纸墨审美的物理想象:像一滴墨落在
|
|
13
|
+
宣纸上洇开吃掉旧景,有机、书写感。天然亲和 paper/ink 调性的片子,
|
|
14
|
+
是 light-leak-burn(强调色漏光)之外的另一个"介质系"接缝选择。
|
|
15
|
+
|
|
16
|
+
## 单式选型
|
|
17
|
+
| 式 | 做法 | 适用 |
|
|
18
|
+
|----|------|------|
|
|
19
|
+
| A ink-bleed-reveal 墨渗揭示 | 新页透过须状渗边的有机圆形遮罩从落墨点洇开,快慢不匀吃掉旧景 | 旧景→新景替换;书写感、叙事调性 |
|
|
20
|
+
|
|
21
|
+
## 参数表
|
|
22
|
+
| 参数 | 典型值 | 调节手感 |
|
|
23
|
+
|------|--------|----------|
|
|
24
|
+
| 渗边 | SVG mask 白圆挂 `feTurbulence(fractalNoise, baseFrequency 0.02, octaves 3, seed 固定)` + `feDisplacementMap scale 60→160 随帧涨` | filter 只揉遮罩形状、内容始终清晰;seed 必须写死(确定性) |
|
|
25
|
+
| 洇开 | 半径 [20,98f]→[0,1450px] Easing.out(quad),乘 `1+0.08·sin(0.32f)·env` 快慢不匀扰动(env 末 20f 衰减归零) | 匀速圆扩张读作普通 iris——扰动即"墨的脾气" |
|
|
26
|
+
| 墨边 | 两层遮罩圆领先新景 20–42px:外沿 0.42 不透明 + 3.2px 羽化、内芯 0.86 + 1px 羽化,再外一圈 +110px 重羽化湿晕(0.12);14–22f 先落一个小墨点 | 无墨边读作普通 iris 擦除;墨边太宽太实读作烧纸洞 |
|
|
27
|
+
| 显影 | 新景在遮罩内 scale 1.035→1(20–100f ease-out),摘罩前精确回到 1 | 不收会在摘罩帧跳一下 |
|
|
28
|
+
| 收尾摘罩 | 洇满后(帧 ~100)摘掉 SVG mask 直接铺新景 | feTurbulence 有亚像素抖动,不摘则结尾永不真静止(本批实渲判例) |
|
|
29
|
+
| 收尾 | 新景就位后真静止 ≥30f | R1 |
|
|
30
|
+
|
|
31
|
+
## 已知坑
|
|
32
|
+
- demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
|
|
33
|
+
首次实战须以真实素材回验
|
|
34
|
+
- 一缝一式规矩同 shot-transitions:介质转场不与白闪/震屏叠加;
|
|
35
|
+
本式与 light-leak-burn 介质系同片合计 ≤2 次,多了片子读作印刷厂宣传
|
|
36
|
+
- 洇开中段旧景内容会透过噪声孔洞碎片式短暂露出——读作墨渍肌理
|
|
37
|
+
属可接受有机效果,但旧景若是人脸/logo 等高辨识元素会读作故障,避开
|
|
38
|
+
- 慢转场(55–80f 动作段),高节奏连打段落别用——那里去 shot-transitions B 式甩镜
|
|
39
|
+
|
|
40
|
+
## 参考实现
|
|
41
|
+
demos/transition/print-texture-transitions/
|
|
42
|
+
(InkBleedReveal.tsx)
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: shot-transitions
|
|
3
|
-
一句话: 镜头交棒三式——推进流白、whip-pan 甩镜(急刹款)、mask-wipe 穿窗(纵深款),按能量落差与接缝语义选型
|
|
4
|
-
适用: 任何两镜衔接处(技法卡,分镜阶段排完镜头后逐个接缝选一式)
|
|
5
|
-
时长: n/a(技法卡;各式占用帧数见参数表,从相邻镜头预算里划)
|
|
6
|
-
能量: n/a(技法卡,不占能量位)
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 意图
|
|
10
|
-
库内各镜头卡只管自己的入场和收尾,镜与镜"怎么接"一直没有词汇——
|
|
11
|
-
接缝裸切会把逐镜头攒出的电影感一次漏光。公认优秀的发布片
|
|
12
|
-
(Linear Releases/Agent,2026-07-11 抽帧逆向)全程没有一次裸切:
|
|
13
|
-
换景要么靠深度旅行、要么靠焦点接力、要么靠黑场字卡蓄力。本卡收三式:
|
|
14
|
-
白闪盖切、甩镜借糊帧换景、穿窗点进详情世界。
|
|
15
|
-
|
|
16
|
-
## 三式选型
|
|
17
|
-
|
|
18
|
-
| 式 | 做法 | 适用接缝 |
|
|
19
|
-
|----|------|----------|
|
|
20
|
-
| A 推进流白 flash-cut | 前镜相机推进,切点跨骑一层白闪盖住换页 | 交互穿透、能量相近的页面→页面(库内已有,收编)|
|
|
21
|
-
| B whip-pan 甩镜(急刹款) | 机位一拍横甩到下一场景,中段运动模糊糊到不可辨,借糊帧换景;落点前急刹、长尾滑入 | 快节奏功能段连打(高能量→高能量的轻快款);落点是"要读内容"的镜头 |
|
|
22
|
-
| C mask-wipe 穿窗(纵深款) | 页面内真实元素(卡片)放大成全屏窗口,新场景从窗内长出接管 | 语义化接缝:功能总览→该功能详情("点开这张卡进入它的世界")|
|
|
23
|
-
|
|
24
|
-
## 参数表
|
|
25
|
-
| 参数 | 典型值 | 调节手感 |
|
|
26
|
-
|------|--------|----------|
|
|
27
|
-
| A flash-cut | `assets/lib/FlashCut.tsx`,from = 切点 − 5,两侧各 5f | 用法详见 type-and-filter 卡;白闪只盖硬切,不当装饰光效(Q4)|
|
|
28
|
-
| B 甩镜急刹款 | 起点 hold ≥20f → 前 70% 路程用 30% 时间(糊段,峰值 ~300px/f)→ 后 30% 路程 ease-out 长尾 ~48f 滑入落位;用一条连续速度曲线(3f 起步 + 指数衰减)积分出位移,别分段各套 ease-out(分段处速度会二次起跳);按瞬时速度做方向性运动模糊(`_fixtures/Polish` 的 `SpeedBlur`,sd ≈ 0.085×速度、封顶 64px),只在甩动段生效;参考实现把同一条位移曲线接到一只机械滚轮索引计数器(Nº 02→09)和随长廊走的刻度尺 + 固定播放头上,落定后目标卡抬到 1.2× 可读 | 适合落点是"要读内容"的镜头——长尾给观众视线一个追上的坡;长尾 >60f 偷走后镜入场,宁短勿长;跨度按"峰值速度 ≥300px/f"配,不足则糊不透露出换景穿帮;两景同一水平线上拼接(页面空间同 y);CameraMotionBlur 子帧叠加在 8bit 下会整片偏黄、拖影呈一格格回波,亮场 UI 甩镜别用 |
|
|
29
|
-
| C 穿窗纵深款 portal-wipe | 目标卡先悬浮抬起作预备(−10px、1.03×,邻卡退暗)→ 窗放大 40f 用 bezier(0.7,0,0.3,1) 先慢后快,窗内新景从 ~0.42 缩放反向补偿长到 1(与窗几何同一个 t),卡面在前 ~28% 行程内渐隐(opacity 1−t·3.6,再慢会被拉成满屏巨字残影);窗内**只 2 层**视差(远景面板系数 0.08 + 近景 2 卡 0.3,不加 blur),穿窗完成后 8f 缓停 → 静止 ≥30f 读清新景;窗内世界最好是被点开卡的封面"长大"(参考实现:video-shotcraft Workspace 里「Premiere Forecast」项目卡的钴蓝波形封面 → 同款波形地貌的观看量预测世界 + 玻璃面板 + 2 枚指标浮卡,曲线随 t 画完)| 窗几何与窗内景必须同步驱动,异步读作穿帮;层数/散开是可读性命门——3 层+0.85 散开+blur 版被裁,收敛后过;穿完必须真停,视差飘着不停偷走后镜阅读 |
|
|
30
|
-
|
|
31
|
-
## 已知坑
|
|
32
|
-
- 分镜表阶段就逐接缝标注转场式(写进"关键动效"列),逐镜头阶段才补
|
|
33
|
-
等于全线挪帧——转场占用的帧从相邻镜头预算划走,规矩同 hold 预算(R3)
|
|
34
|
-
- 转场不叠加:一个接缝只用一式;甩镜糊段、穿窗途中再加 flash 白闪读作穿帮
|
|
35
|
-
- B/C 式参数经占位素材调校+真实素材转正,非用户
|
|
36
|
-
实战判例——单例判例,与判例冲突时判例优先
|
|
37
|
-
- C 式窗内新景语义应是被点开元素的"详情世界"(实战接真实详情页
|
|
38
|
-
截图)——窗里塞无关场景语义断裂,沦为花哨擦除;被放大元素用高清纹理(Q2,全程被特写)
|
|
39
|
-
- C 纵深款参数系手搓占位 UI(video-shotcraft Workspace / 观看量预测世界)调校起点、未经真实截图验证;
|
|
40
|
-
参考实现 demos/transition/shot-transitions/PortalWipeV2.tsx
|
|
41
|
-
|
|
42
|
-
## 参考实现
|
|
43
|
-
A 式:template/src/aifl/Main.tsx flash-cut 层(组件 `assets/lib/FlashCut.tsx`);
|
|
44
|
-
B 式(whip 甩镜急刹款):demos/transition/shot-transitions/WhipBrakeReal.tsx;
|
|
45
|
-
C 式(mask-wipe 穿窗纵深款):demos/transition/shot-transitions/PortalWipeV2.tsx。
|
|
1
|
+
---
|
|
2
|
+
name: shot-transitions
|
|
3
|
+
一句话: 镜头交棒三式——推进流白、whip-pan 甩镜(急刹款)、mask-wipe 穿窗(纵深款),按能量落差与接缝语义选型
|
|
4
|
+
适用: 任何两镜衔接处(技法卡,分镜阶段排完镜头后逐个接缝选一式)
|
|
5
|
+
时长: n/a(技法卡;各式占用帧数见参数表,从相邻镜头预算里划)
|
|
6
|
+
能量: n/a(技法卡,不占能量位)
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 意图
|
|
10
|
+
库内各镜头卡只管自己的入场和收尾,镜与镜"怎么接"一直没有词汇——
|
|
11
|
+
接缝裸切会把逐镜头攒出的电影感一次漏光。公认优秀的发布片
|
|
12
|
+
(Linear Releases/Agent,2026-07-11 抽帧逆向)全程没有一次裸切:
|
|
13
|
+
换景要么靠深度旅行、要么靠焦点接力、要么靠黑场字卡蓄力。本卡收三式:
|
|
14
|
+
白闪盖切、甩镜借糊帧换景、穿窗点进详情世界。
|
|
15
|
+
|
|
16
|
+
## 三式选型
|
|
17
|
+
|
|
18
|
+
| 式 | 做法 | 适用接缝 |
|
|
19
|
+
|----|------|----------|
|
|
20
|
+
| A 推进流白 flash-cut | 前镜相机推进,切点跨骑一层白闪盖住换页 | 交互穿透、能量相近的页面→页面(库内已有,收编)|
|
|
21
|
+
| B whip-pan 甩镜(急刹款) | 机位一拍横甩到下一场景,中段运动模糊糊到不可辨,借糊帧换景;落点前急刹、长尾滑入 | 快节奏功能段连打(高能量→高能量的轻快款);落点是"要读内容"的镜头 |
|
|
22
|
+
| C mask-wipe 穿窗(纵深款) | 页面内真实元素(卡片)放大成全屏窗口,新场景从窗内长出接管 | 语义化接缝:功能总览→该功能详情("点开这张卡进入它的世界")|
|
|
23
|
+
|
|
24
|
+
## 参数表
|
|
25
|
+
| 参数 | 典型值 | 调节手感 |
|
|
26
|
+
|------|--------|----------|
|
|
27
|
+
| A flash-cut | `assets/lib/FlashCut.tsx`,from = 切点 − 5,两侧各 5f | 用法详见 type-and-filter 卡;白闪只盖硬切,不当装饰光效(Q4)|
|
|
28
|
+
| B 甩镜急刹款 | 起点 hold ≥20f → 前 70% 路程用 30% 时间(糊段,峰值 ~300px/f)→ 后 30% 路程 ease-out 长尾 ~48f 滑入落位;用一条连续速度曲线(3f 起步 + 指数衰减)积分出位移,别分段各套 ease-out(分段处速度会二次起跳);按瞬时速度做方向性运动模糊(`_fixtures/Polish` 的 `SpeedBlur`,sd ≈ 0.085×速度、封顶 64px),只在甩动段生效;参考实现把同一条位移曲线接到一只机械滚轮索引计数器(Nº 02→09)和随长廊走的刻度尺 + 固定播放头上,落定后目标卡抬到 1.2× 可读 | 适合落点是"要读内容"的镜头——长尾给观众视线一个追上的坡;长尾 >60f 偷走后镜入场,宁短勿长;跨度按"峰值速度 ≥300px/f"配,不足则糊不透露出换景穿帮;两景同一水平线上拼接(页面空间同 y);CameraMotionBlur 子帧叠加在 8bit 下会整片偏黄、拖影呈一格格回波,亮场 UI 甩镜别用 |
|
|
29
|
+
| C 穿窗纵深款 portal-wipe | 目标卡先悬浮抬起作预备(−10px、1.03×,邻卡退暗)→ 窗放大 40f 用 bezier(0.7,0,0.3,1) 先慢后快,窗内新景从 ~0.42 缩放反向补偿长到 1(与窗几何同一个 t),卡面在前 ~28% 行程内渐隐(opacity 1−t·3.6,再慢会被拉成满屏巨字残影);窗内**只 2 层**视差(远景面板系数 0.08 + 近景 2 卡 0.3,不加 blur),穿窗完成后 8f 缓停 → 静止 ≥30f 读清新景;窗内世界最好是被点开卡的封面"长大"(参考实现:video-shotcraft Workspace 里「Premiere Forecast」项目卡的钴蓝波形封面 → 同款波形地貌的观看量预测世界 + 玻璃面板 + 2 枚指标浮卡,曲线随 t 画完)| 窗几何与窗内景必须同步驱动,异步读作穿帮;层数/散开是可读性命门——3 层+0.85 散开+blur 版被裁,收敛后过;穿完必须真停,视差飘着不停偷走后镜阅读 |
|
|
30
|
+
|
|
31
|
+
## 已知坑
|
|
32
|
+
- 分镜表阶段就逐接缝标注转场式(写进"关键动效"列),逐镜头阶段才补
|
|
33
|
+
等于全线挪帧——转场占用的帧从相邻镜头预算划走,规矩同 hold 预算(R3)
|
|
34
|
+
- 转场不叠加:一个接缝只用一式;甩镜糊段、穿窗途中再加 flash 白闪读作穿帮
|
|
35
|
+
- B/C 式参数经占位素材调校+真实素材转正,非用户
|
|
36
|
+
实战判例——单例判例,与判例冲突时判例优先
|
|
37
|
+
- C 式窗内新景语义应是被点开元素的"详情世界"(实战接真实详情页
|
|
38
|
+
截图)——窗里塞无关场景语义断裂,沦为花哨擦除;被放大元素用高清纹理(Q2,全程被特写)
|
|
39
|
+
- C 纵深款参数系手搓占位 UI(video-shotcraft Workspace / 观看量预测世界)调校起点、未经真实截图验证;
|
|
40
|
+
参考实现 demos/transition/shot-transitions/PortalWipeV2.tsx
|
|
41
|
+
|
|
42
|
+
## 参考实现
|
|
43
|
+
A 式:template/src/aifl/Main.tsx flash-cut 层(组件 `assets/lib/FlashCut.tsx`);
|
|
44
|
+
B 式(whip 甩镜急刹款):demos/transition/shot-transitions/WhipBrakeReal.tsx;
|
|
45
|
+
C 式(mask-wipe 穿窗纵深款):demos/transition/shot-transitions/PortalWipeV2.tsx。
|