🪵程序化纹理生成器 - 在线生成无缝噪声纹理与法线贴图
程序化纹理不是拍出来的,而是用数学噪声“算”出来的:同一组参数和随机种子永远得到同一张图,分辨率想多高就多高,还能做到严格无缝。本工具内置 Perlin 和 Simplex 两种梯度噪声,可叠加成 fBm(分形布朗运动)、脊状(ridged,适合山脊、熔岩裂纹)或湍流(turbulence,适合大理石、火焰),也有 Worley 细胞噪声的 F1(细胞)和 F2−F1(裂纹、石砖缝),再配合域扭曲(domain warping)让纹理像流体一样弯曲。在噪声之上可以套用大理石条纹、木纹年轮、织物经纬、焦散光纹等图案。预设包括云、大理石、木纹、石材、熔岩、水面焦散、纸张、织物、拉丝金属和铁锈,选好后每个参数都能继续调。色带编辑器可以增删色标、拖动位置、翻转。打开“无缝”后,Perlin 与 Worley 使用周期晶格(频率取整数,格点对周期取模),Simplex 使用 4D 环面映射,左右、上下在像素级严格首尾相接,可以开启 2×2 平铺预览检查。导出最大 4096×4096,在 Web Worker 里生成,不卡界面;还可以同时导出灰度高度图和用 Sobel 算子从高度求出的法线贴图(OpenGL / DirectX 两种格式),直接用于游戏引擎和三维软件。
免费 · 无需注册 · 浏览器本地处理最后更新:
正在加载工具...
如何使用程序化纹理生成器
- 1点一个预设(云、大理石、木纹……)作为起点
- 2调整噪声类型、分形方式、缩放、层数、域扭曲和图案参数,编辑色带,打开无缝并用 2×2 平铺检查
- 3选择导出尺寸(最大 4096),需要时勾选高度图与法线贴图,生成并下载 PNG
常见问题
- 无缝是怎么实现的?会不会只是边缘模糊处理?
- 不是模糊。Perlin 与 Worley 噪声在“周期晶格”上计算:每层的频率取整数,格点坐标对周期取模,所以第 0 列和第 N 列用的是同一批随机格点,画面在数学上就是周期的。Simplex 噪声则把横向和纵向各绕成一个圆,在 4D 空间里取样(环面映射),同样严格首尾相接。域扭曲和图案也都按周期设计。
- fBm、脊状和湍流有什么区别?
- fBm 把多层不同频率的噪声按衰减叠加,得到柔和自然的起伏,适合云、地形。湍流叠加的是噪声的绝对值,会出现尖锐的折痕,适合大理石、火焰。脊状是 1 − |噪声| 再平方,并用前一层加权,形成细长连续的亮脊,适合山脊、熔岩、闪电。
- 法线贴图是怎么生成的?OpenGL 和 DirectX 格式有什么不同?
- 先得到纹理的高度(灰度),再用 Sobel 算子求每个像素横向和纵向的坡度,换算成表面法线并编码到 RGB。无缝纹理求坡度时会环绕取样,所以法线贴图同样无缝。两种格式的区别只在绿色通道方向:OpenGL(Blender、Unity)绿色朝上,DirectX(Unreal、3ds Max)绿色朝下。
- 同样的设置为什么每次结果都一样?怎么换一张?
- 所有随机数都来自随机种子,相同的参数、种子和尺寸一定生成同一张图,方便你记录和复现。想要不同的变化,点“换一个”或手动修改种子即可。