Skip to main content

为标准着色器制作高光/金属度贴图

       在使用 标准着色器(Standard) 时,推荐将 金属度贴图(metallic) 和 光滑度贴图(smoothness) 合并为同一个贴图文件。此外,遮挡贴图(occlusion) 细节遮罩(detail mask)也可以被整合为同一个贴图文件,这么做可以节省内存,是一个很好的优化方法。

作为参考,红色通道表示 金属度(Metallic),绿色通道表示 遮挡贴图(Occlusion),蓝色通道表示 细节遮罩(Detail Mask,透明通道表示 光滑度(Smoothness)。(译者注:这些贴图向着色器传达的强度信息只与像素的明度有关,与颜色无关)。

使用 标准(镜面反射)Standard (Specular) 着色器时,虽然也倾向于将高光贴图和光滑度贴图放在同一个贴图中,但这么做就将挤占掉其他贴图的位置。

使用 标准(镜面反射)Standard (Specular) 着色器时,注意不要混合遮挡贴图和细节贴图。

       根据使用工具的不同,处理这个问题可能会遇到的麻烦有所不同。例如,通过 Photoshop 保存半透明图像时,透明像素会被替换为纯白色像素,这将会破坏高光贴图!另外,由于Windows中的一个古老的错误,许多图片处理工具也可能对导入的图像进行同样的处理。

使用 SmartTexture 创建组合贴图

       利用 SmartTexture 插件,您可以轻松地将多个不同用途的贴图合并为单个贴图文件,而且这一过程完全自动化。只需将材质球内的各个贴图纹理单独保存,然后创建一个SmartTexture资源,将它们关联在一起。

       要安装 SmartTexture,请遵照 这里的说明 进行操作。

       一旦安装完成,您就可以在 Unity 中创建新的 SmartTexture 资源,并将单独的贴图一一拖入,实现贴图的合并,提高工作效率。

使用 chaiNNer 合并贴图

       ChaiNNer 是一个非常便利的贴图操作工具,您可以使用它将多个贴图合并为一个,也可以利用神经网络来放大贴图的分辨率。

       您可以 在这里下载chaiNNer

       您可以将贴图拖入窗体,然后使用 Seperate RGBA 节点 将其分解成各自的组成部分,最后通过 Combine RGBA 重新组合。此外, ChaiNNer 还支持各种类型的过滤器,并可批量处理图像。

使用ImageMagick合并镜面反射和光滑度

       ImageMagick 提供了一种简单而有效的方法,在Unity之外,仅需几个简单步骤就可以合并您的贴图——只要您知道如何使用命令行。

       首先,点击这里下载 ImageMagick(推荐兼容HDRI的版本)。

       ImageMagick 是一个历史悠久的开源命令行工具集,用于编辑图像。人们使用IM和批处理脚本完成了许多奇妙的事情。虽然我们的脚本没有那么奇妙,但也同样实用。

       以下是您需要使用的脚本:

magick convert %1 %2 -alpha off -compose CopyOpacity -composite PNG32:%1_result.png

       此外,我们还准备了一个批处理文件:

_JoinRGBAlpha.bat

       下载并保存在待处理的图片文件目录中,然后选择两个相同尺寸的图片文件,将这两个文件拖放到批处理文件的图标上。例如,您可以选择您的高光贴图和光滑度贴图的文件,然后将它们拖放到批处理文件的图标上。最终输出将是这两个图像的合并结果,而第二个图像将被添加到透明通道中——这就为 Unity 生成了一个完全准备好的高光+光滑度贴图!然后,将生成的文件导入 Unity 项目中即可。