我让两个渐变为我完成所有地形着色——它是如何工作的

发布: (2026年3月18日 GMT+8 19:43)
3 分钟阅读
原文: Dev.to

Source: Dev.to

我一直在 Unity 中使用 Polaris 来处理地形,并想分享它的一个我经常回归的着色模式——Gradient Lookup(梯度查找)。思路很简单:不需要构建 splat‑map 堆叠或手动绘制纹理层,两个梯度就能驱动整个地形的颜色。

工作原理

按法线着色

读取表面坡度。向上指的面是平坦的地面——向侧面指的面是悬崖。将颜色映射到这个范围,你的地形会自动把悬崖和平地区分开来,无需任何手动绘制。

按高度着色

读取海拔。梯度的底部对应地形的最低点,顶部对应最高点。设置你的海拔区段——沙地、草地、岩石、雪地——地形的每一部分都会自动获取正确的颜色。

按高度混合

一条曲线控制在每个海拔上哪个梯度占优势。把它在底部和顶部保持低值,使高度颜色占主导——河床的纯沙、山巅的纯雪。中间段抬高曲线,让坡度梯度在悬崖最明显的地方接管。

需要注意的陷阱

梯度映射的是整个地形的完整高度范围,而不仅仅是你实际雕刻的那部分。如果你的地形从未达到最大高度设置,上部梯度的颜色就永远不会出现。需要将梯度的停点调整到实际地形所在的范围。

另外

你可以在梯度结果上再绘制一张 albedo(反照率)图和一张 metallic(金属度)图,以实现近景细节——泥土小径、苔藓斑块、湿润岩石。梯度负责大面积的颜色,绘制的贴图负责细节收尾。

完整教程

完整的演示视频可在 YouTube 上观看:YouTube

0 浏览
Back to Blog

相关文章

阅读更多 »