大数跨境

Three.js 造模型,Anime.js 让它动:AI Agent 做 3D 动画的门槛低了

Three.js 造模型,Anime.js 让它动:AI Agent 做 3D 动画的门槛低了 AI智能体研究
2026-07-22
5
导读:​

引言

先说一个大部分人没意识到的事实:网页上那些会转、会变色、会“炸开”的 3D 模型,其实分成两个完全不同的活儿——造出来让它动

Three.js 负责的是前一半。它能在网页里立起一个立体的耳机、一面方块墙、一辆车模型,能摆灯光、摆相机、贴材质。这部分它做得很好,用了十几年,业界默认选它。

Three.js 有一个天生的短板:它自己不会“动”。造出来的模型立在那儿是静止的,想让它转个圈、点一下换颜色、一堆方块从中间弹出来,都得靠人自己一帧一帧地去改数值——这一步,Three.js 从来没打算管。

过去这一步靠人硬写,很累;现在轮到 AI Agent 写代码,同样容易写乱、写错。而 2026 年年中,Anime.js 出到 4.5 版本,专门给这一步配了一个“驱动引擎”,让写动画这件事变得像说话一样直白。这篇文章想说清楚三件事:这两个工具到底谁负责什么、组合起来能干什么、以及为什么这对 AI 写代码这件事格外有意义。


一、Three.js 是雕塑家,不是舞蹈老师

打个比方最好理解:Three.js 更像一个手艺很好的雕塑家。给它材料(几何体)、给它光(灯光)、给它一个观众的视角(相机),它能把一个立体的东西立在你面前,摆得漂漂亮亮。

但雕塑家不负责教这个作品跳舞。

想让模型转一下、变个颜色、往前弹一下,Three.js 提供的是最底层的接口——你可以改它的位置数值、旋转弧度、材质颜色,一条一条地改。但“怎么按时间把这些数值连起来,变成一段流畅的动作”,它完全不管。这活儿以前基本靠人自己攒代码:这一秒改这个属性,下一秒改那个属性,角度还得自己从“度”换算成程序认的“弧度”。

写一两个物体还能忍,一旦模型多了、动作复杂了,这些改数值的代码会散得到处都是,改一个地方经常牵连三四个地方,人写得累,AI 写起来也一样,一不小心就漏改一处、算错一个角度。

二、Anime.js 相当于给它接上了一台马达

Anime.js 本来就是一个专门管“怎么把变化连成动作”的引擎——它不关心你动的是网页上的一个方块,还是一段文字,它只管“这个数值从 A 变到 B,用多长时间,走什么节奏”。

4.5 这个版本做了一件很直接的事:让这台引擎可以直接接到 Three.js 造出来的模型上。以前你要分好几段代码分别去改模型的位置、旋转、材质颜色;现在只要说清楚“最终想变成什么样”,剩下的插值、换算、同步,都交给引擎自动完成。

打个比方,以前的写法有点像:

  • 先告诉“位置”这个部件:你要挪到这里
  • 再单独告诉“旋转”这个部件:你要转这个角度,记得把度数换算成弧度
  • 再单独告诉“材质”这个部件:颜色要变成这个

三个部件互相不知道对方在干什么,全靠人手动对齐节奏。

现在只需要说一句话:“这个模型,位移到这、转这么多度、颜色变成这个,一共用零点五秒,缓动效果要柔和一点。”一句话,一次搞定,角度、颜色、位置全部同步动。

这就是“驱动引擎”的意思——Three.js 造好了演员和舞台,Anime.js 现在能直接喊“开始表演”,不用再一个部位一个部位地手动摆姿势。

三、具体一点:AI 以前怎么写,现在怎么写

光说“更简单”还是有点抽象,拿一个具体任务对比一下最清楚。

假设你跟 AI Agent 说:“帮我在首页放一个 3D 耳机,进场的时候升起来转一圈,鼠标移上去的时候放大一点。”

以前 AI 大概会这么写:先写一段代码,专门改“位置”这个数值,让它从下面往上挪;再另写一段,专门改“旋转”这个数值,注意这里角度要从人能看懂的“度”换算成程序认的“弧度”,算错一步模型就会转向奇怪的方向;再写第三段,处理“鼠标移上去要放大”这件事,还要小心别和前面的进场动画打架,不然模型会一边升起一边莫名其妙地抖一下。三段代码分头写、分头测,任何一段漏了或者顺序错了,效果就会跑偏——人写起来要反复调试,AI 写起来同样容易在这几段之间顾此失彼,比如把角度换算漏掉,或者两段动画抢时间导致画面卡一下。

现在 AI 可以这么写:一次性说清楚“这个模型,从下面升起、同时转一圈、用多长时间、什么节奏”,再补一句“鼠标移上去的时候,放大一点、时间要短一些”。两句话,覆盖了进场和交互两件事,角度不用手动换算,动画之间的节奏也不用自己对齐——负责“动”的那台引擎会自动处理好。

这就是本质的变化:不是任务变简单了,是完成任务需要记住的“零碎细节”变少了。而“零碎细节太多、需要死记硬背去对齐”,恰好是 AI Agent 在长任务里最容易翻车的地方——不是因为它不懂 3D,而是它和人一样,同时盯着好几个分散的状态,总有概率漏掉一个。

四、为什么这对 AI Agent 特别重要

这才是最值得说的地方。

人写代码写乱了,还能凭经验发现哪里不对;AI Agent 写代码时,最容易出错的恰恰是这种“需要同时记住好几个分散状态、还要手动做单位换算”的活。以前如果你让一个 AI 编程助手帮你写“一个会转、会变色的 3D 产品展示”,它大概率要:

  • 分别生成好几段代码,对应位置、旋转、材质
  • 自己去处理角度单位换算,很容易算错或者漏转
  • 一旦要加个“悬停时放大一点”的交互,还要再插一段新的时间轴,稍不注意就把之前的动作顺序搞乱

这些恰恰是 AI 容易在长代码里“顾头不顾尾”的地方。

而现在,因为 Anime.js 把这些操作收成了几行接近自然语言的声明式代码——“这个东西要变成什么样,用多久,什么节奏”——AI 写出来的代码本身更短、结构更规整,出错的地方也更少。这不是说 AI 突然“懂 3D”了,而是它要维护的复杂度被大幅压缩了:以前 AI 要同时兼顾好几个分散的属性和单位换算,现在它只要说清楚“结果”,剩下的都交给引擎。

换句话说:门槛低的不是“3D 建模”这件事,而是“让 3D 动起来”这一步——这一步恰好是人写代码嫌烦、AI 写代码容易翻车的重灾区。现在这一步变简单了,意味着以后跟 AI 说“帮我做一个会动的 3D 首页”,它更容易一次写对、写完整。


五、两个例子,直接看效果

光说不够直观,我按两个常见的官网场景做了真实可运行的小样,直接看动图。

例子一:耳机会转、会换色、会“凑近看”

想象一个耳机品牌的官网首页:不是一张静止的渲染图,而是一颗真的立在页面上的耳机。

  • 页面打开:耳机从下面慢慢升起,顺势转个身,像刚从包装盒里拿出来
  • 点一下颜色圆点:机身颜色和边缘的光一起变,不是简单换一张贴图,是材质本身在变
  • 鼠标移过去:它会微微抬头、放大一点,像被人拿起来端详

这一整套“升起、转身、换色、被拿起来看”的动作,写下来的代码量比“各写各的”那种老办法要短得多——因为位置、旋转、颜色现在能在同一句话里一起说清楚。

例子二:一整墙方块,从中间“炸”出来

再想象一个 AI 产品的介绍页:功能展示区不是六张普通卡片,而是一整面由 64 个小方块拼成的墙。

  • 一开始所有方块缩成中间一个点,看不见
  • 紧接着,从中心开始,一圈一圈地往外弹到自己该在的格子上,像水花往外扩散
  • 鼠标移到某一格,那一格会自己往前探出来

64 个方块能一起动、还能按“到中心的远近”依次错开出场,靠的也是这台驱动引擎——它不需要你一个一个地给每个方块单独写代码,只要说清楚“大家一起从中间往外弹,中间的先动、外面的晚一点动”,剩下的自动铺开。

这两个例子分别代表了两种最常见的需求:一个主角物体怎么讲故事一大群物体怎么整齐地一起动。以前这两种需求分别有各自的一套麻烦写法,现在收进了同一套简单逻辑里。

而“一大群物体一起动”这件事,用处远不止方块墙——产品图墙、数据点、粒子特效、卡片矩阵,本质上都是同一类需求:很多个小东西,要按某种规律依次登场。以前这类效果得给每一个小东西单独算一遍“它该等多久才出场”,现在只要说一句“大家从中间往外,按顺序错开一点时间”,剩下的全部自动计算。


六、这不是玩具效果,是量级够用的能力

这里插一个容易被忽略但很实在的问题:这么“说一句话就搞定”的效果,会不会一多起来就卡?

答案是不会,而且余量还不小。Anime.js 官方给出的说法是:五万个这种小方块同时做动画,网页依然能流畅运行;有独立开发者专门在自己电脑上测过这个数字(文末参考文献里链的那篇实测),确认哪怕真的同时驱动五万个物体,每一帧需要的计算时间也远远没有跑满“流畅”这道及格线,余量相当宽裕。

换算成大部分产品官网、落地页会用到的规模——几十个、几百个物体一起动——这套组合完全不会成为拖慢网页的原因。真正决定效果好不好看的,从来不是“能不能带得动”,而是节奏、顺序、力度这些设计上的细节。这也再次印证了前面的判断:这次更新省下来的不是电脑的运算量,是人和 AI 脑子里要同时惦记的那一堆细节。

七、它不是万能钥匙,这几件事还得靠人

说到这儿容易让人觉得“以后 3D 网页效果都能一句话搞定”,这话说得有点满。有几件事,这次更新完全没有解决:

  • 模型和场景本身要长什么样,还是得说清楚。想要什么样的耳机、灯光打在哪个角度好看、相机放在哪个位置最有质感,这些审美和构图上的判断,Anime.js 一句都没管,还是要靠人(或者更懂设计的 AI)来把关。
  • 特别复杂的场景,门槛并没有真的消失。如果要做的是有物理碰撞、有骨骼动作的复杂 3D 场景(比如游戏级别的角色动作),这套“驱动引擎”解决不了这个层级的问题,该用专业方案还是要用专业方案。
  • 完全不懂 3D 基本概念,还是会卡住。就算动作变得好写了,如果连“模型”“材质”“相机”这几个词都对不上号,跟 AI 沟通需求的时候依然会说不清楚要什么——工具帮你少写代码,但不会帮你少想清楚需求。

所以更准确的说法是:门槛降低的是“已经想清楚要什么效果之后,把它变成代码”这一段路;从“完全没想法”到“说清楚需求”,这一段路还是要靠人自己走。


八、这意味着以后能做什么

把前面几点串起来看,结论其实很朴素:

  • Three.js 继续负责“把 3D 世界造出来”——这一层的专业门槛并没有消失,你依然需要知道怎么摆模型、怎么打灯光。
  • Anime.js 现在负责“让这个世界动起来”——这一层的门槛被明显拉低了,因为表达动作的方式变得更接近人话。
  • 对 AI Agent 来说,这意味着以后接到“做一个会动的 3D 展示页”这类任务时,能用更短、更不容易出错的代码把动作写对,不用再和一堆分散的底层属性死磕。

结合前面提到的边界:这不是一把能解决所有问题的万能钥匙,而是精确地拆掉了一块具体的绊脚石——那块过去卡住了很多“本来想做点 3D 效果、又觉得太麻烦而放弃”的人和项目的石头。石头没了,剩下的路(想清楚要什么、把审美判断做到位)还是要自己走,但至少不会再被一堆分散的底层属性绊住脚。

这道门槛往下挪了一节,值得所有想在网页上做点立体效果的人,以及帮他们写代码的 AI,都认真看一眼。


参考文献

  • [1] Anime.js v4.5.0 Release Notes: https://github.com/juliangarnier/anime/releases/tag/v4.5.0
  • [2] Anime.js 官网: https://animejs.com/
  • [3] Anime.js Adapters 文档: https://animejs.com/documentation/adapters
  • [4] Anime.js Three.js Adapter 文档: https://animejs.com/documentation/adapters/threejs-adapter/
  • [5] 独立实测:Anime.js v4 で Three.js を動かしてみた(含 5 万实例性能测试): https://zenn.dev/lnest_knowledge/articles/animejs-v4-threejs

关于 AI 智能体研究

欢迎关注“AI 智能体研究”!这里聚焦 AI 智能体前沿成果,解析技术原理,探讨应用场景。无论是技术爱好者还是行业探索者,都能获取最新资讯与深度见解。一起探索 AI 智能体的无限可能,共赴科技未来!

如果这篇文章对您有帮助,欢迎:

🌟 点赞收藏:方便日后查阅参考
📤 转发分享:让更多同行获得有价值的信息
👀 关注我们:每日获取最新资讯,不错过关键动态

您的每一次互动,都是我们持续输出优质内容的动力。

往期回顾

【声明】内容源于网络
0
0
AI智能体研究
欢迎关注“AI 智能体研究”!这里聚焦 AI 智能体前沿成果,解析技术原理,探讨应用场景。无论是技术爱好者还是行业探索者,都能获取最新资讯与深度见解。一起探索 AI 智能体的无限可能,共赴科技未来!
内容 175
粉丝 0
AI智能体研究 欢迎关注“AI 智能体研究”!这里聚焦 AI 智能体前沿成果,解析技术原理,探讨应用场景。无论是技术爱好者还是行业探索者,都能获取最新资讯与深度见解。一起探索 AI 智能体的无限可能,共赴科技未来!
总阅读4.3k
粉丝0
内容175