GPT 5.6 Sol一把梭:Three.js复刻黑客帝国开场
凌晨两点对着终端发呆时突然想到,GPT 5.6 Sol能不能用Three.js把《黑客帝国》开场那段数字雨加哨兵追逐戏码撸出来。结果这货直接给我整了个能跑的demo,绿油油的字符瀑布从屏幕顶端倾泻而下,远处追着尼奥的哨兵机械触手在雾里若隐若现,镜头慢推那种压迫感居然真出来了。
下一篇
假装不用AI,反而让我成了更好的开发者 →
它没用现成的粒子系统库,直接上手写了两个核心模块:一个是用BufferGeometry搞的字符雨,另一个是纯数学算出来的哨兵轮廓。字符雨这块思路挺暴力,生成几千个随机字符实例然后逐帧更新position.y,配合纹理的alpha值做拖尾,性能反而比用Sprite堆还流畅。
// 字符雨核心逻辑(GPT 5.6 Sol生成)
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
const positions = new Float32Array(3000 * 3);
for (let i = 0; i < 3000; i++) {
positions[i * 3] = (Math.random() - 0.5) * 40;
positions[i * 3 + 1] = Math.random() * 30;
}哨兵部分更骚,它没用外部模型,靠三个椭圆曲面叠加再扭曲顶点就捏出了机械触手的形状。材质用了MeshBasicMaterial加绿色调,配合雾效FogExp2,瞬间氛围就上来了。整个场景跑起来稳在60帧,估计是刻意避开了阴影计算。
看代码时有个细节挺意外,它自己加了相机抖动模拟子弹冲击的反馈,还做了点击屏幕触发「子弹时间」的交互。虽然demo整体还是偏原型级,但作为思路参考已经超出预期了。
GPT 5.6 Sol写Three.js确实有点东西,尤其是在处理数学公式转3D坐标这块,基本不需要人工改。不过如果你要搞更复杂的灯光材质,还是得自己调调参数。