基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
技术实践2026-10-30 14:46

四张图片做出可切换灯光的网页角色

dev.to · AI#前端#CSS#交互设计
Editor brief · 编辑速览

作者拆解 AI 辅助制作的交互效果:将一张全暗图与三张单灯图叠放,使用 CSS mix-blend-mode 混合多灯颜色。开关音效由少量 JavaScript 在浏览器中生成,无需额外音频文件。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

一个带三盏灯的吉祥物,点击开关后,灯光会照到角色身上,多盏灯还能混色。作者原以为需要 three.js,拆开 AI 生成的实现才发现:核心是 4 张图片、CSS 的 mix-blend-mode,再加几行生成点击声的 JS。

这篇短文有用的地方,是把一个看起来复杂的光照效果拆成了普通前端也能理解的做法。不过,效果如何稳定复现、图片怎样生成,原文还留着不少空白。

三盏灯为什么只需要 4 张图片

作者看到的交互包含三个灯光开关:点击其中一个,对应的灯就会亮起或熄灭,角色身上也会出现相应的光照。

如果把每一种开关组合都单独画出来,素材会很快变多。作者拿到的方案则只用了 4 张图:

  • 1 张所有灯都关闭的图片。
  • 3 张分别只打开一盏灯的图片。

把这些图片叠放,再让 CSS 混合图层,就能组合出多盏灯同时亮起的效果。作者表示,打开 2 盏或 3 盏灯时,颜色仍然能混合得不错。

这里的光照主要画在图片里,浏览器负责把它们组合起来。

它不需要在运行时建立三维场景、计算灯光如何落到模型表面。对固定角色、固定灯位的展示效果,这是一条很直接的实现路径。

但也要分清:作者做出了这个案例,不代表任意 4 张图片叠起来都能得到同样的效果。

mix-blend-mode 做了什么,原文又没交代什么

这套方案的关键 CSS 属性是 mix-blend-mode。它控制元素与下方内容的颜色如何混合,让上层图片参与最终画面的颜色计算。

大白话解释:不是简单地把亮灯图片盖上去,而是让它与下面的画面共同形成最终颜色。

原文只给出了属性名,没有给出具体采用哪一种混合模式,也没提供图层顺序、开关状态如何控制图层显示等代码。因此,目前能拿走的是实现思路,还不是一份可以直接复制的组件。

声音也走了轻量路线。作者说,AI 写了几行 JS,由浏览器自己生成切换灯光时的点击声,不需要 mp3 文件。不过,原文没有说明使用哪个音频 API,也没有贴出代码,不能据此补成一套确定的实现。

素材方面,作者建议让 Gemini 或 ChatGPT 生成。听起来简单,实际却是他觉得最折腾的部分:他在演示文稿的第 9 页保留了反复提示、重新提示的过程,并坦言还在寻找更好的办法。

所以,前端代码短,不等于整个制作过程省事。这个案例把相当一部分工作移到了图片准备阶段。

我的判断

我更认可作者「生成之后再拆开理解」的做法。他先让 AI 调研并完成效果,随后发现自己并不知道它如何工作,于是回头研究实现。对于想边做边学的程序员,这一步比得到一个能运行的页面更有价值。

技术选择也合理:角色和灯的位置固定时,预先画好光照,再用 CSS 合成,可以减少实现复杂度。相比引入 three.js,它更适合这种以视觉展示和简单点击为主的案例;如果需求变成角色转动、灯位移动,这篇文章没有证明同一方案还能适用。

「多灯混色效果不错」是作者对自己案例的评价,原文没有提供对照数据。

它没有展示与 three.js 方案的画质、性能或资源体积比较,也没有给出不同浏览器的验证结果。因此,可以把它当作值得尝试的技巧,不能直接推成普遍更优的方案。

能拿来做什么

  • 做固定角色的灯光交互原型时,可以先尝试「1 张全暗图+3 张单灯图」的素材组织方式,再验证叠加后的混色是否符合预期。
  • 让 AI 编写这类组件时,要求它解释图片分层、mix-blend-mode 的具体取值和开关状态的关系,方便自己接手修改。
  • 生成素材时,逐张检查角色、构图和灯位是否一致。这是从叠图方案推导出的检查重点,原文没有给出稳定生成这些素材的方法。
  • 需要短促的开关提示音时,可以尝试让浏览器直接生成声音;原文只证明作者这样做过,具体 API 和实现仍需补齐。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
让编程Agent先识别生成文件再修复
下一篇
AI 生成 Compose 的冷启动竞态怎么查

资讯速览

dev.to · AI · 2026-10-30 14:46

AI 评分 8.0 / 10

相关标签

#前端#CSS#交互设计

继续阅读

  • 并行使用编码 Agent,先识别谁在等你
  • 让编程Agent先识别生成文件再修复
  • AI 生成 Compose 的冷启动竞态怎么查
  • 专家借助 AI 提效,也可能被其偏好左右
  • C# 接入 Rerank v5:重排模型怎么选