今天在推上刷到那个很火的 Claude 视频,说是用一千多行纯代码直接搓了一个带地形侵蚀和体积云的 3D 山脉世界。看完手痒得不行,正好拿 Gemini 4 跑个极限测试,看看能不能用同样的纯数学思路,干脆整一个难度更高的冰岛黑沙滩风暴洋面和玄武岩海蚀柱。
整个过程没用任何外部贴图,没导任何 3D 模型,连背景音乐和海浪声都没有用音频采样,全靠单文件里的数学公式和着色器硬算。折腾完跑出来的效果确实有点震撼,不仅复刻了原视频那种左边敲代码右边画面实时演化的分步大片模式,还顺手加了个可以随便飞的自由漫游实验室。
先放直接能玩的在线地址和完整视频链接,建议电脑浏览器点开之后在页面上随便点一下鼠标解锁声音,那个纯代码合成器配乐加上去之后味儿一下就对了:
🎬 完整演示视频直链:点击观看完整高清 MP4 视频
🕹️ 在线实时 3D 交互体验:点击进入在线实时渲染页面
📦 源码仓库地址:GitHub 开源仓库

下面把从零开始演化到最终画面的八个阶段截图全放出来,每一张都是实机实时渲染截出来的:
第一阶段:基础梯度噪声
最开始就是一层最朴素的二维连续噪声,算出来一个只有平缓起伏的灰白基底,这时候看起来还跟石膏模型一样平平无奇。

第二阶段:分形山脊与柱状节理
这一步直接叠加上多层解析导数分形,利用斜率梯度去压制陡坡上的杂乱噪点,瞬间就把刀锋一样的陡峭山脊立起来了,顺便在悬崖切面上算出了冰岛标志性的六边形玄武岩柱状节理。

第三阶段:四百万滴雨水力侵蚀
光靠噪声生成的山看着还是有点假,所以在启动的时候直接让 CPU 先跑了四百多万步虚拟雨滴顺着山坡滚落的物理模拟。雨水在陡峭的地方冲刷出深邃的沟壑,在平缓的山谷里把泥沙沉积下来,加上热力休止角松弛之后,岩石的地质肌理一下就真实了。

第四阶段:北大西洋风暴波浪谱
有了海蚀柱还得有海,这一步把原本平静的平面替换成十组不同方向的重力波叠加高频风浪,海面立刻开始翻涌,波峰也被风推成了尖锐的折线形态。

第五阶段:材质上色与波峰翡翠透光
这一步是整个海面最灵魂的地方。海浪被抬高的时候,逆着阳光的薄波峰会透出那种北大西洋特有的翡翠绿次表面散射光,同时海浪拍在玄武岩底座上会激起一圈圈白色的碎浪泡沫,山顶平缓处也按坡度挂上了积雪。

第六阶段:真实物理大气散射
把地球海平面的瑞利散射、米氏散射和臭氧吸收系数直接写进着色器里,低角度的夕阳穿过厚厚的大气层,把远处的海蚀柱和海雾染上一层冷暖交织的空气透视感。

第七阶段:体积积雨云与丁达尔光束
在空中加上三维噪声光线步进出来的风暴积雨云,阳光从云缝里劈下来形成丁达尔体积光柱,云层底部也被夕阳映出金边。

第八阶段:电影镜头光学后处理与代码合成音乐
最后一步在屏幕空间叠加上变形宽银幕水平眩光、镜头上的海浪水滴折射、色差、辉光和胶片颗粒,同时用浏览器自带的音频接口实时合成出渐进式的电子脉冲配乐和海浪呼啸声。


不得不说现在的模型在图形学和数学物理结合这块确实进化得太快了,以前让它写个三维场景只能摆几个彩色塑料方块,现在把水力侵蚀、波浪谱、大气光学和光线步进揉进一个单文件里也能一气呵成。感兴趣的坛友可以点上面的在线链接进去切到自由漫游模式,自己拉拉滑块改改海浪高度或者夕阳角度试试,挺好玩的。
进化速度好快
光影不错,波浪有点尴尬
厉害
以前是前端是路边一条,是模型就能踹一脚
现在是threejs 和建模是路边一条……
怎么用到的4
说实话写的这些shader你自己看得懂,会调优么?
性能表现还是不行,不做烘培的,设备顶不住的
正价吗 还是优惠
@betterlmy #5 同问~目前还没有公开,只有内部灰度或者白名单的才能用上吧?
@Ethanye #8 JIO灰测到的