真正落在舞台里的雨。雨滴是沿着自己的运动方向拉长的细条——下落速度加上风,合成的就是那道雨丝,像相机快门拖出来的一样。撞到表面的那一刻,它会停在原地溅起一圈短暂扩张的水花,然后回到顶上重来
它和 雪 共用同一套 GPU 计算机制,也和雪一样是场景里的几何体,不是后期链上的一环
控制项
| 控制项 | 范围 | 默认值 | 作用 |
|---|---|---|---|
| 数量 | 100 – 10000 | 4000 | 同时存在的雨滴数 |
| 速度 | ×0.2 – ×3 | ×1 | 下落速度倍率 |
| 风力 | −6 – 6 m/s | 0 m/s | 沿舞台 x 轴的横向恒定风 |
| 雨滴长度 | 0.2 – 3 | 1 | 雨丝被拉得有多长 |
| 雨滴宽度 | 0.4 – 3 | 1 | 雨丝有多粗 |
| 水花 | 0 – 1 | 0.7 | 落地水花的强弱。0 让雨滴直接消失 |
| 不透明度 | 0.05 – 1 | 0.4 | 雨丝与水花的不透明度 |
×1 对应每秒五米多一点的下落速度,比真实的雨略慢——太快的雨丝在一帧里就成了一条几乎看不见的直线
风会改变雨丝的方向
风力不只是让雨横着飘。雨丝是沿着「下落加风」这个合速度拉长的,所以风一大,雨丝跟着倾斜,整场雨看上去就是斜着扫过来的
风力以米每秒计量,独立于速度倍率——速度只加快下落,不改变风。想要一场风暴,把风力推到 4 以上、雨滴长度加长、不透明度压低一点,得到的是一片斜着划过画面的细密雨幕
雨滴离开模拟范围后会从另一侧重新进入,因此风不会减少场景中的雨滴数量
水花
雨滴撞上的是一张自上而下的高度图,看到的是舞台上的一切——虚拟形象、道具,以及脚下那层隐含的地面。命中的那一刻雨滴停住,在表面上摊平一圈水花环,向外扩张约三分之一秒后消失
水花是贴着它撞上的那个面平铺的,不是永远朝向相机,所以从低角度看过去,落在头顶的水花会被透视压扁,就像真的落在那儿一样
水花推到 0 时,雨滴一碰到表面就直接回收——没有水花,也就省下了那部分绘制
场景内渲染
和 雪 一样,雨是场景里真实的几何体:
- 灯光 不会照亮它——雨丝是自发光的透亮高光,不是被照亮的物体,所以再暗的场景里也看得见
- 景深 会按它到相机的实际距离虚化它
- 整条 后期处理 照常作用于它,因为它在这些环节跑之前就已经画进画面里了
- 它挡在虚拟形象前面还是后面,取决于那一滴当时落在哪儿
开销
雨不占用后期链,所以开着它不会像其他特效那样多出一遍全屏渲染。它的开销在别处:每帧一次计算调度,外加每隔一帧一次高度图渲染——和雪共用同一张图,所以两个一起开并不会把这份开销翻倍
数量是影响性能的主要设置。缓冲区按上限一次性分配,所以调整数量无需重新分配缓冲区——但同时模拟的雨滴越多,计算耗时就越长
开关时雨会在约 0.4 秒内淡入淡出,而不是凭空出现或消失
雨需要 GPU 计算,因此只在 3D 舞台上出现。在回退到 WebGL 的机器上,这套计算图可能被拒绝——此时雨会自行关闭,并在控制台留下一行说明,避免影响其他舞台内容
最后更新于 2026年9月19日