// speed-ramp 变速(轮 C)——真实卡片流帧号 remap:快(斜率2.2) → // 0.2x 慢速展示窗 → 快。慢速窗中目标卡(card4-hires)清晰滑过屏中。 // blur 联动速率:快段包 blur、慢段不包,反差即"凝视感"。 import { AbsoluteFill, Img, interpolate, staticFile, useCurrentFrame } from 'remotion'; import { CameraMotionBlur } from '@remotion/motion-blur'; import layout from '../../_textures/live-layout.json'; export const SPEEDRAMP_DUR = 135; const CARD_W = 460; const GAP = 60; const RAIL = layout.projects.cards.slice(0, 9); const TARGET_I = 5; const Scene: React.FC = () => { const frame = useCurrentFrame(); // remap:0–40f 走 88 源帧(快),40–85f 走 9 源帧(0.2x),85–135f 走 110(快) const src = interpolate(frame, [0, 40, 85, 135], [0, 88, 97, 207], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp', }); const dx = src * 28; return ( {/* 偏移 717:让慢速窗中点(src≈92.4,dx≈2587)时目标卡 k=5 中心落屏中 */}
{Array.from({ length: 16 }).map((_, k) => { const c = RAIL[k % RAIL.length]; const isTarget = k === TARGET_I; return ( ); })}
); }; export const SpeedRampReal: React.FC = () => { const frame = useCurrentFrame(); const fast = frame < 42 || frame > 83; return fast ? ( ) : ( ); };