SuperAPI AI 工具集

blur

通用与其它

查看项目

更新于 10-16 01:13

技能介绍

用途:为页面添加一个全屏 WebGL 画布,在多张背景图之间以 zoom-blur 效果切换(旧图逐渐模糊并向中心收敛,新图逐渐清晰);支持滚轮、点击屏幕上下半区、方向键导航,模糊中心随鼠标位置移动,形成视觉跟随效果。适用于 hero 区或需要比普通 crossfade 更高级过渡的图片幻灯片。注意它不用于 UI 卡片/面板的静态毛玻璃模糊,那类应使用 CSS backdrop-filter: blur()。

主要能力:读取技能自带资产(assets/blur.html、blur.css、blur.js),改写图片数组与时长/缓动后写入目标项目;可通过无头浏览器截图并读取控制台进行验证。机制上,每张图为一个 PlaneBufferGeometry 加自定义 ZoomBlurImage 着色器,片元着色器沿指向中心的向量采样并加贝塞尔权重,uStrength 非 0 时产生收敛模糊;两张图层交叉,progress 与 targetProgress 做 lerp,滚轮每次改变 targetProgress 1/20。

使用方式:先确认需求是动态图片切换而非静态模糊;读取资产后修改 images 数组、调整 duration/easing,并确保页面存在 gsap 全局脚本(initScene() 会调用 gsap.fromTo 但未在文件内 import)。用 playwright-verify 截取滚动前后对比并检查控制台,截图有变化且无 WebGL/JS 错误即完成;两轮仍失败则反馈日志。

限制与已知技术债:着色器每帧运行于整个视口,GPU 开销较大,不要在单页放置多个实例,移动端/弱机需先测试。blur.js 第 12 行从他人 CodePen 引用 useThree 辅助函数,第 1–10 行使用 unpkg 上的 three@0.120.0 CDN;用于生产或交付客户前应将其 vendor 化到 assets 并删除 CDN import,有打包器时改用 npm 安装 three,原 pen 许可不明时需自行重写。WebGL 错误常静默出现,无 JS 报错但画布未渲染也应视为失败。宣传/收费/价格等信息暂未提供。