MIRROR · 盐湖镜面

盐湖镜面

一片把天照下来的盐湖。倒影不用反射相机,也不用投影矩阵:远山与盐晶各建一份沿水面翻下去的副本,水面是半透明的,底下的副本透出来就是倒影 —— 一份几何,两种角色,地平线与它的倒影永远在同一条线上。盐壳是一张抖过的方格网,每个格点按固定种子偏一点,连成线段就是晒裂的盐皮;环湖的远山只沿一圈摆,高度与张角都带随机。斜阳压得很低,方向光与天幕上那团辉光共用同一个方位,光晕才不会与光照方向对不上。水面每帧挪一丁点贴图,镜子也在慢慢淌,但快看不出在动。盐壳、远山、盐晶、斜阳与天幕都是运行时算出来的,页面不加载任何模型或贴图。

外部素材
0
三角面
≈ 9k
盐壳格点
1,225
预设机位
3

正在加载…

加载失败

网络或资源出错,可以重试一次。

倒影就是翻下去的副本

远山与盐晶各建一份沿 y 取负的副本,水面半透明,底下的副本透出来就是倒影。不用反射相机、不用投影矩阵,一份几何两种角色,地平线与它的倒影永远在同一条线上 —— 相机怎么拖都对得上。

水面必须真的半透明

整套倒影全靠水面把底下的副本透出来。透明度调到接近不透明,倒影立刻消失,只剩一块灰板;调得太透,水又不像水。0.52 是「既看得见倒影、又看得出是水」的那一档,同时关掉 depthWrite,免得它把底下的副本挡在深度测试之外。

光晕与光照共用同一个方位

天幕上那团斜阳辉光与 DirectionalLight 都从 sunPosition 取位置。要是各写各的方位,光晕会飘到光源的另一侧,山脊那条橙边就跟斜阳对不上了。