跳到主要内容
DepthCarve

三维材质与视觉效果

不用 Photoshop,也能把高度图转换成法线图

图片转法线图包含两个不同任务:转换已经拥有的高度图,以及从没有高度信息的照片估计形状。先分清输入,才能选对工具和验收方法。

DepthCarve5 分钟阅读产品使用指南
Read in English
免费转换法线图

高度图 → 法线 PNG。本地处理,无需注册。

灰度高度图与着色浮雕效果对比示意图
法线图记录方向,高度图记录标量高度;不能仅凭图像外观混用。场景示意图,不代表已验证的客户作品。

先判断手里的输入是什么

如果输入已经是灰度高度图,任务就是确定性的转换:采样周围高度,计算坡度,再把表面方向写进 RGB。这可以直接在浏览器中完成,不需要调用模型或上传图片。它适合已有地形、材质高度和深度数据的处理。

如果输入是普通照片,亮度表示反射光,并不直接等于距离。把照片亮度当高度可以做快速材质实验,但不能据此宣称恢复了真实表面。需要照片估计的形状时,应先估计深度,再根据那个场生成法线,并承认这是解释而不是测量。

亲自试一遍

在浏览器内把高度图转换成法线图

选择高度图或深度图,调整强度和绿通道方向,再下载法线 PNG。图像只在浏览器中处理,无需上传、注册或积分。照片亮度不等于真实高度。

免费浏览器转换工具

已有高度图或深度图?直接转换成法线图

工具把亮度解释为高度。文件只在你的浏览器里处理,不会上传。如果输入是照片,请使用照片工作台估算深度。

从照片生成深度图
原始高度图
原始图片预览会显示在这里。
切线空间法线图
法线图预览会显示在这里。

亮度转换只能根据明暗推算表面方向,适合已有高度图和快速材质测试;它无法恢复照片没有记录的几何细节。 在材质中使用前,先阅读法线图工作流程指南。

免费的本地转换流程

选择高度图或深度图,设置强度,选择 OpenGL 或 DirectX 的绿通道方向,然后下载切线空间 PNG。本地转换不会上传文件,也不需要账号或积分,便于对已有图片反复试验。但仍应遵守你对客户素材的使用约定,不能把本地处理等同于所有项目的法律或保密认证。

强度决定坡度被夸张的程度。太低可能看不出起伏,太高则把压缩块和噪声一起放大。可以从归一化高度场的1.0到1.5附近开始,在简单材质上观察,再根据实际输入调整。数值只是起点,不是所有贴图都适用的标准。

OpenGL 和 DirectX 的绿通道

切线空间法线用三个通道表达表面方向,两种常见约定在绿通道方向上不同。约定不匹配时,某个方向的受光关系可能像反了。转换器提供绿通道切换,允许从同一源图导出两个版本,但判断仍应在实际引擎和材质里进行。

使用有已知起伏的简单表面,不要仅凭紫色法线图的外观猜方向。旋转光源,观察凸起和凹陷是否符合预期。若全部形状都相反,还要单独检查高度反转,而不是把绿通道切换当成万能修复。

8位 RGB 是常见的法线文件形式,但其适用性取决于使用场景。把已经量化的8位图扩成16位不会恢复丢失的方向信息。平滑曲面出现条带时,应检查源数据、编码、压缩和渲染流程,不能认为只换文件容器就会变好。

边缘、接缝与平铺

由高度场生成的法线,质量受源图边缘连续性限制。要平铺时,左右边和上下边应衔接。当前转换器在边界使用钳制采样,而不是循环采样,因此重复贴图可能暴露边界问题;提高强度不能修复源高度的不连续。

单块浮雕或不平铺素材可以考虑稳定的平坦边缘;真正需要无缝材质时,应在源图制作或支持循环采样的流程中处理接缝。边缘数值相同也不必然意味着两侧坡度一致,还应检查重复排列后的着色效果。

使用 mipmap 后,远距离采样又可能暴露不同的边缘表现。合理留边可减少部分采样污染,但不能把钳制算法变成真正的平铺算法。请同时观察近处与远处材质,不要用一次放大预览替代所有尺度下的检查。

在材质里验收,不要只在看图软件里验收

把 PNG 导入实际引擎,应用到简单表面并转动光源。检查强度、方向、绿通道和法线空间。如果目标要求的是物体空间法线,却导入切线空间贴图,即使图片文件合法,着色也可能错误。输入与材质必须采用相容的解释。

记录源图、强度、通道约定和接收引擎。照片生产包的清单可记录对应生成参数,但本地转换器不会自动把一份完整操作说明写进 PNG。把设置保存在文件旁,避免下一位作者需要靠猜测恢复你的工作。

改图片之前,先检查材质节点连接

在 Blender 中,把图像纹理设为 Non-Color,将颜色输出接到 Normal Map 节点,再把法线输出接到材质的法线输入。纹理和切线空间解释应使用匹配的 UV。直接把法线 RGB 接到置换,或者按显示颜色解释数值,都可能让本来有效的 PNG 看起来不对。

用有不对称形状的测试高度图,例如一端圆润的斜凸条。完全对称的圆点可能让方向错误仍看着合理。先用适度强度导出,放在简单表面上转动光源,第一次比较只改变绿通道,保持源高度和强度不变,这样才能隔离约定问题。

如果一个方向被修正,但整条形状仍像凹下去,再检查独立的高度反转。绿通道翻转改变的是法线约定,高度反转改变的是形状,两者不能互换。只有部分网格接缝异常时,还应查看 UV 岛、切线、压缩和导入设置,本地转换器无法自动修复这些问题。

交接时把原始高度图、法线 PNG 和简短设置说明放在一起,写明强度、是否高度反转、是否翻转绿通道。文件名本身未必能表达全部选择。这样另一位作者才能重现材质,而不必重新试遍所有参数或为不必要的模型调用付费。

什么时候才需要照片估计流程

没有高度数据、需要做外观开发、浮雕或初步表面方向实验时,可以考虑照片估计路径。已经有高度数据,只需要可重复转换时,优先用本地路径。明确区分两者,避免把一个确定性的转换结果与一个概率性的场景解释当成同类测量比较。

照片路径仍无法恢复被遮挡的背面,也可能在玻璃、镜面、烟雾或细发上失败。把输出视为正面表面信息,在进入材质前与对应深度场和原图对照。生成成功只说明有一个输出,不代表它已经适合最终资产。

交给下游软件前

最终检查清单

  • 输入已区分为高度图或普通照片。
  • 已有高度数据时使用本地转换,无需上传。
  • 在已知形状和移动光源下测试强度。
  • 绿通道约定与目标材质一致。
  • 高度反转与绿通道翻转分别检查。
  • 平铺与远距离采样没有明显接缝。
  • 材质节点、UV、源图和设置已记录。

来源与边界

这些来源用于核对格式与下游工具行为,不代表对你的图片或机器成品作出保证。

直接说明

使用过程中常见的问题

JPG 可以转换吗?

可以,但压缩块和锐化边缘可能变成坡度。已有无损高度图时优先用它;普通照片亮度不等于真实高度。

本地法线转换真的免费吗?

是,浏览器本地生成并下载 PNG,不需要上传、注册或积分。照片生产包是另一个需要确认的收费流程。

为什么法线效果像反了?

先确认目标引擎的绿通道约定,再独立检查高度方向、法线空间和材质设置。不要把所有异常都归结为同一个反相按钮。

强度应该设多少?

可从归一化高度图的1.0到1.5附近开始,在实际材质中调整。更高强度同时放大噪声,最终值取决于输入和目标。