什么是指数纹理?

2021-02-16 13:48

我试图将SFM模型转换为Blender,遇到了一种称为指数纹理的东西。我需要这个吗?如果需要,如何将它插入到原则着色器中?

解答动态

  • 我不熟悉SFM,所以我在谷歌上搜索发现:https://developer.valvesoftware.com/wiki/Phong\u材料,这表明您所看到的图像是镜面反射功率的重新映射(从0,1重新映射到1.0150.0)。
    镜面反射功率用于某些引擎的光泽度/粗糙度。高镜面反射功率表示高光泽/低粗糙度。Blender不使用镜面反射功率来控制其任何着色器中的光泽度,无论是Eevee还是Cycles,镜面反射功率都不会线性(或以任何特定方式)映射到Blender的各种粗糙度模型。
    如果您希望完美地使用此功能,则需要为每个灯光提供单独的渲染层,从原始值合成时计算镜面反射高光的位置。(基本上,specular=specColor*lightColor*clamp(dot(normal,(light+view)/2))^SP。然后将其添加到无镜面反射版本。)这是一个乏味的过程,无论如何都不会产生好看的输出。
    如果您想以某种方式使用它,您可以使用它的重新映射版本,并将其插入到着色器使用的任何粗糙度输入中。就像我说的,没有任何数学上正确的方法,所以你只能用眼睛来做。主要的是要认识到,一个高SP对应一个低粗糙度,反之亦然。
    注意,这一联系表明,不同的渠道可能会或可能不会在SFM中使用。以上应该是正确的灰度指数纹理,这应该是正常的。从技术上讲,红色通道用作指数,而绿色通道听起来像是用来给镜面反射着色的。该链接没有提供有关如何使用绿色通道的更多信息,只是建议很少使用绿色通道,并且与所有SFM分支不兼容。

    • End

    免责声明:

    本页内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与琴岛网公司无关。本页内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。