// E 式基本款 whip-pan——真实整页冻结纹理(demos/_textures/)。 // 世界:projects-full 顶部 section(A 景)与同页底部 section(B 景)横向并排 // ——模拟"功能段之间的区块交棒",相机 8f 甩 2880px(峰值 ~540px/f), // blur 只包甩动段。节拍:0–35 A hold → 35–43 甩(糊)→ 43–120 B hold(真静止)。 import { AbsoluteFill, Img, interpolate, staticFile, useCurrentFrame, Easing } from 'remotion'; import { CameraMotionBlur } from '@remotion/motion-blur'; export const WHIPPAN_DUR = 120; const SWING = 2880; // 1.5 屏 // 观察窗都对准 cards 网格区(页面空间 y≈247 起),viewport 顶对 y=180 const VIEW_Y = -180; const Scene: React.FC = () => { const frame = useCurrentFrame(); const dx = interpolate(frame, [35, 43], [0, SWING], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp', easing: Easing.bezier(0.6, 0, 0.4, 1), }); return (
{/* A 景:项目板全满 */} {/* 缝隙纸色空场 960px——甩动中段一晃而过,全糊 */} {/* B 景:同页底部 section(PERCEPTION & SENSING 区),换景可辨且内容饱满 */}
); }; export const WhipPanReal: React.FC = () => ( // 峰值 ~540px/f:采样按"回波间距 ≤ 字高"配,20 samples 拖影连续 );