合成贴图

Composite Texture(合成贴图) 功能可以将一张 贴图 和另一个张贴图的内容结合起来。

该功能目前仅用于通过另一张贴图的法线贴图细节来调整一张 贴图 的粗糙度。 这对于处理实时三维渲染中的一种常见失真是有用的: 在远处时法线贴图的锯齿或闪烁效果。如果一种 材质 ,在距离相机较近时使用细节法线贴图,在相机距离较远时,则使用法线贴图中看上去可能会平坦一些的mip map,那么该功能可以维持该材质的高光区域大小。

创建合成贴图使其根据法线贴图细节来修改粗糙度

要想配置一张 贴图 使用 Composite Texture(合成贴图) ,那么请将该法线贴图(同样的大小或更高的分辨率)分配给 您的漫反射 贴图 中的 Composite Texture(合成贴图) 属性。我们一般将该粗糙度存储在漫反射alpha通道中,但是您可以通过修改这些默认设置来调整任何通道。

该过程假设该 贴图 已经包含了一个粗糙度值,并根据法线贴图中的变化调整该通道,使其成为粗糙度更大的值(更亮)。

properties.png

如果该 贴图 的alpha通道中没有包含信息,那么修改那个特定通道的过程将不能正常工作, 因为没有alpha通道意味着是白色。此时,您首先必须调整 Max Alpha 属性的值, 来将源alpha设置为一个常量值。如果您直接将贴图的alpha通道和材质粗糙度相关联, 并且您的alpha通道是白色(1,默认值),那么您可以直接指定那个粗糙度值作为 Max Alpha 。该调整将会应用到贴图内容上。粗糙度调整将会在那之上完成。

map_normal.png map_roughness.png
法线贴图 合成的粗糙度贴图

您可以将 Texture Editor(贴图编辑器) 设置为仅显示alpha通道来验证您的调整。

合成属性

有一些附加属性用于控制 合成贴图 如何影响 贴图 的通道。

属性 描述
Composite Texture Mode(合成贴图模式) 指定使用该 Composite Texture 来修改 贴图 的哪个通道(RGBA) 。
Composite Power(合成力度) 决定 Composite Texture(合成贴图) 对目标通道影响的多少。[1:默认值, <1更小的影响, >1更大的影响]

使用合成的粗糙度贴图

材质 通过采样 贴图 的alpha通道来应用粗糙度贴图。

mat_roughness.png

您可以通过在着色器中把多个粗糙度相加来组合它们,它们将会自然地组合到一起。

结果

comp_off_aa_off.png comp_on_aa_off.png
仅法线贴图 具有合成的粗糙度贴图
comp_off_aa_on.png comp_on_aa_on.png
具有PostProcessAA的法线贴图 具有PostProcessAA的合成粗糙度贴图

问题

该功能仅当您的法线贴图的UV布局和粗糙度贴图一样时有效。 注意,这是近似的正确结果。该结果是各向同性的,因为不会考虑 法线贴图的任何方向性。请确保您具有足够大的UV边界,否则可能会出现错误的内容。