把一张图片变成带深度感的沉浸式网页 Banner。 输入:本地图片路径 / 图片 URL,或使用内置程序化生成的 Demo 夜景场景;可选标题副标题、色调偏好、特效开关、输出路径。 输出:单文件 index.html(CSS/JS 全内联、零外部依赖),组合四种特效——深度图位移(WebGL fragment shader,鼠标驱动)、视差滚动、加载对焦拉焦动画、Canvas 2D 粒子系统,并附右上角实时调参控制面板。 适用边界:面向支持 WebGL 1.0 的现代浏览器;深度图默认由图片亮度近似自动生
Immersive Banner — 沉浸式 WebGL Banner 生成器
功能概述
Immersive Banner — 沉浸式 WebGL Banner 生成器是一项面向实际任务的技能,主要用于生成带深度感的沉浸式 Banner,单文件 HTML,零外部依赖;Depth Map Displacement;
核心要点
- WebGL fragment shader,灰度深度图控制像素位移;
- displacement : 0-80,默认 30;
- Parallax Scrolling;
使用与执行
滚动时图像微量偏。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Immersive Banner — 沉浸式 WebGL Banner 生成器
生成带深度感的沉浸式 Banner,单文件 HTML,零外部依赖。
核心特效
| # | 特效 | 实现方式 | 关键参数 |
|---|---|---|---|
| 1 | Depth Map Displacement | WebGL fragment shader,灰度深度图控制像素位移 | displacement: 0-80,默认 30 |
| 2 | Parallax Scrolling | 滚动时图像微量偏移,shader 内 scrollY 驱动 | parallaxStrength: 0-50,默认 20 |
| 3 | Focus Pull Animation | 加载时模拟镜头拉焦,前景模糊→主体清晰 | 持续 2.5s,cubic-bezier 缓动 |
| 4 | Floating Particles | Canvas 2D 粒子系统,布朗运动 | particleCount: 0-200,particleSize: 1-10 |
工作流程
Phase 1: 需求确认
向用户确认以下信息(如已提供则跳过):
- 图片来源:用户提供图片路径 / URL / 使用内置程序生成的 demo 场景
- Banner 用途:首页 hero、产品展示、活动页、纯展示 demo 等
- 标题/副标题:Banner 上显示的文字(可选)
- 色调偏好:暗色/亮色/跟随图片(默认暗色)
- 输出路径:默认
~/Desktop/banner-output/ - 特效偏好:全部启用 / 选择性启用(默认全部)
Phase 2: 场景构建
根据用户需求,生成单文件 index.html,包含以下模块:
2.1 WebGL Depth Displacement Engine
// 核心 shader 结构
precision mediump float;
varying vec2 v_uv;
uniform sampler2D u_image; // 原图
uniform sampler2D u_depth; // 深度图(灰度)
uniform vec2 u_mouse; // 鼠标位置 -1..1
uniform float u_intensity; // 位移强度
uniform float u_time; // 动画时间
uniform float u_focusBlur; // 对焦模糊度 0-1
uniform float u_scrollY; // 滚动偏移
void main() {
float depth = texture2D(u_depth, v_uv).r;
// 鼠标驱动位移
vec2 disp = u_mouse * depth * u_intensity * 0.003;
// 呼吸动效
disp += vec2(sin(u_time * 0.5 + v_uv.y * 3.0), cos(u_time * 0.4 + v_uv.x * 3.0)) * 0.001 * depth;
vec4 color = texture2D(u_image, v_uv + disp);
// 对焦模拟 + 暗角
gl_FragColor = color;
}
2.2 自动深度图生成
如果用户没有提供深度图,从原图自动生成:
- 亮度提取:
0.299R + 0.587G + 0.114B - 高斯模糊:box blur,半径 =
min(w,h) / 60 - 中心偏移:中心 = 近(亮),边缘 = 远(暗)
- 归一化:映射到 0-255
注意:自动生成的深度图是近似的。如果用户追求精确效果,建议使用 MiDaS / Depth Anything 生成真实深度图。
2.3 粒子系统
粒子属性: - 位置 (x, y) - 速度 (vx, vy) + 布朗运动扰动 - 旋转 + 旋转速度 - 透明度 + 衰减 - 形状:圆形(余烬)/ 椭圆(花瓣)/ 菱形 - 颜色:暖色系 6 种随机
2.4 UI 层
- Banner 标题/副标题(CSS animation fadeUp)
- 右上角控制面板(实时调节各特效参数)
- 底部 badge
2.5 图片加载
支持三种方式:
- 拖拽上传:拖入图片自动加载
- 文件选择:点击按钮选择
- 内置 Demo:程序化生成夜景场景(星空+山脉+月亮+萤火虫)
Phase 3: 定制与增强
根据用户具体需求,可以增加以下增强项:
| 增强项 | 说明 |
|---|---|
| 自定义粒子形状 | SVG 路径 / emoji 作为粒子 |
| 音频响应 | Web Audio API 驱动粒子/位移强度 |
| 陀螺仪支持 | 移动端 DeviceOrientation 替代鼠标 |
| 多图切换 | 淡入淡出切换多张 banner 图 |
| 文字打字机效果 | 标题逐字显示 |
| 自定义深度图 | 支持用户同时上传原图+深度图 |
| 响应式适配 | 移动端/平板自适应布局 |
只在用户明确要求时添加增强项,默认不加。
Phase 4: 输出与验证
- 输出单文件
index.html到指定路径 - 自动在浏览器中打开预览
- 告知用户如何调整参数
技术约束
- 单文件:所有 CSS/JS 内联,无外部依赖
- WebGL 1.0:兼容性最广
- 性能:requestAnimationFrame,粒子数 ≤ 200
- 图片格式:支持 jpg/png/webp,通过 FileReader 读取为 dataURL
- 深度图:灰度图,白=近(位移大),黑=远(位移小)
示例用法
用户:帮我做个 banner,用这张图 ~/Desktop/hero.jpg → 读取图片,自动生成深度图,输出带全部特效的 index.html 用户:做个暗色系的产品展示 banner,标题"New Collection" → 使用内置 demo 场景 + 自定义标题 用户:做个 banner,只要粒子效果和视差,不要深度位移 → 选择性启用特效
热门AI工具
相关专题
Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。
0
2026.10.28
Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。
0
2026.10.28
Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。
0
2026.10.28
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.6万人学习
共6课时 | 54.7万人学习