惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
Jina AI
Jina AI
The Cloudflare Blog
V
Visual Studio Blog
博客园_首页
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
爱范儿
爱范儿
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
博客园 - Franky

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
我不会 Three.js,却复刻了一个高级 3D 网页特效 - 少数派
2026-03-10 · via 少数派

先看效果

网站效果

在线访问地址,同时提供 PC 端和移动端版本

这个效果模仿自一些出现在 Awwwards 上的 3D 网页动画。核心技术使用的是 Three.js。

比较有趣的是:在实现这个效果之前,我几乎没有任何 Three.js 的经验。实际开发过程中,大约花了 4 小时了解基本概念,并简单学习了一些 shader 的基础知识。

实现这个效果所依赖的核心工具只有两个:

  • AI
  • 一种更适合 AI 编程的思考方式(通常被称为 vibe coding

过去常见的开发流程通常是:

学习 → 编写代码 → 调试 → 再学习

而在 AI 参与的情况下,流程往往变成:

理解效果 → 拆解算法 → 提示 AI → 快速迭代

在这种模式下,开发者最重要的能力不再只是 手写代码,而是 如何与 AI 协作解决问题。下面用一个具体例子说明。

为什么很多人用 AI 写网页特效会失败

假设我们希望实现这样一个效果:

多张图片围绕形成一个 3D 圆柱画廊(cylindrical gallery),用户滚动页面时产生动画。

很多人给 AI 的提示词大致如下:

使用 Three.js 做一个 3D 图片画廊。

要求:
1. 页面中展示多张图片卡片
2. 图片在 3D 空间中排列
3. 用户滚动页面时产生动画
4. 整体效果类似一个圆柱型画廊
5. 动画流畅自然

请给出完整代码。

如果使用这样的提示词,大多数情况下 AI 很难生成正确的效果。即使使用较强的模型,也经常会失败。

原因很简单:

提示词缺少关键的算法信息。

换句话说,问题并不在 AI,而在于描述过于模糊。

AI 编程的关键:提供「思考路径」

后来我换了一种提示方式,效果明显不同。

# 角色
你是一名 Three.js 工程师,实现一个 Cylindrical Image Gallery。
# 要求
1. 使用 Three.js
2. 图片使用 PlaneGeometry
3. 图片均匀排列在圆柱表面
位置计算公式:
const angle = (index / total) * 2π
const x = cos(angle) * radius
const z = sin(angle) * radius
# 技术栈
html + css + javascript + threejs
# 输出
完整 HTML

关键区别在于:

提示词中提供了核心算法。

也就是这三行代码:

const angle = (index / total) * 2π
const x = cos(angle) * radius
const z = sin(angle) * radius

只要 AI 获得这个信息,生成正确结果的成功率就会大幅提高。

「Vibe Coding」并不等于不会写代码

很多人误解了 vibe coding 的含义。

一种常见误解是:

什么都不懂,让 AI 自动写代码。

这种方式在实现简单功能时可能有效,但在复杂动画或图形效果中往往很难成功。

目前更有效的方式是:

开发者提供关键算法,AI 负责实现细节。

例如,一些常见的视觉算法包括:

  • 圆柱布局算法
  • 无限滚动算法
  • 图片弯曲 shader
  • 粒子系统算法

下面是一个简化版的 圆柱布局引擎示例:

class RingLayoutEngine {
  calculatePosition(index, scrollProgress, config) {
    const angle =
      (index / config.perLevel) * Math.PI * 2 +
      scrollProgress * 0.03;

    const x = Math.cos(angle) * config.radius;
    const z = Math.sin(angle) * config.radius;

    let y = (baseY - scrollProgress * 0.8) % fullHeight;

    return { x, y, z, angle };
  }
}

通过提供这些基础算法,AI 可以更容易生成完整的实现代码。

一个简单的 AI 网页开发流程

当我看到一个视觉效果出色的网站时,通常会按照以下步骤进行分析:

  • 观察动画效果
  • 寻找对应的算法模型
  • 将算法提供给 AI
  • 生成并迭代代码

在当前阶段的 AI 工具环境中,这是一种效率较高的开发方式。

结语

AI 正在改变前端开发的方式。

在很多场景下,开发者的角色逐渐从 代码编写者转变为 问题拆解者与系统设计者。就可以用更短的时间实现更复杂的视觉效果。

附录