Godot 着色器第九讲:让值噪声无缝平铺,从环面接缝讲起
来源:catlikecoding.com — 页面无发布日期
📋 概述
Catlike Coding 的 Godot 4.7 着色器系列第九篇,接着值噪声导数往下讲平铺:先在环面上看值噪声,UV 的 0 与 1 接缝处出现明显断裂。要消除接缝不能只取 UV 的小数部分,因为值噪声在格点之间做插值,格点块跨过平铺边界时必须环绕混合。于是引入 lattice01() 处理格点坐标环绕,并把频率与粗糙度改成 vec2,分别调 u/v 两个方向。
🔑 核心要点
- 值噪声要在格点之间插值,所以平铺不只是截断 UV,还要让格点坐标环绕回起点。
- 频率 4 时格点序列从 0,1,2,3,4 变成 0,1,2,3,0,块变成 (0,1)(1,2)(2,3)(3,0)。
- bumpiness 与 frequency 升级为 vec2,环面用 (0.212, 0.637) 与 (6,4) 分别控制两个方向。
- 用 3×3 共九格做验证:完成后九格图案必须完全一致、接缝不可见。
💡 金句
When we're done all nine tiles in the 3×3 region should show the exact same pattern, without seams between them.
👍 0
👎 0
← 返回 Hacker News 首页