大家好,我是 Cesium 酱(也可以叫我"本猿"),一名在 WebGIS 领域摸爬滚打多年的前端开发者。
还记得第 16 篇末尾本猿埋下的那个 flag 吗?
往后这条水面线还能往下挖:#17 会看 Cesium 内置的水面材质能省多少事,#30 是真倒影,#39 是动态体积水(带厚度的那种),#127 河道流场水面。
那上一篇我们是自己动手丰衣足食:注册一套自定义 Fabric 材质,手写hash → noise → fbm → 差分法线,两百来行 GLSL 换一片会起伏会闪光的水。今天就顺着这条水面线往下走,把这套自定义的东西全部删掉,换成 Cesium 出厂就带着的那一个。
今天——我们来交这次的作业!🎉
看完这篇你会得到什么:不到 100 行、一行 GLSL 都不用写的动态水面。同样的边界坐标、同样的滑块交互,背后的法线、菲涅尔、镜面高光全部由 Cesium 内部那套Water材质提供;顺带你会知道它内部到底干了什么、默认值有哪些是不填就等于没效果的。
为什么值得花时间在这上面:
- 能偷懒的地方就该偷懒。真实项目里"水库/湖泊/河道要一片动水"的需求,八成不需要你自己推导柏林噪声——先用内置的把效果撑起来,不够再加。
- 内置材质是最好的教科书。它只有六十来行,却把"法线贴图怎么叠"“距离远了怎么办”"