如何在 Unity 中使用粗糙度纹理?

How can I use Roughness Texture in Unity?

我知道Smoothness通道其实就是Roughness。但我下载了一些模型,包括纹理,它们都有粗糙度图像。但是我在图像中看不到粗糙度(或平滑度)有多大,所以我实际上不知道模型看起来完美的平滑度值应该有多大。

我该如何检测?

谢谢

PS:请看我的另一个问题,我两周前问过,但我仍然没有任何答案:Unity3d: Problem with Mixamo animations, they change position of Player graphics out of colliders and attached camera

平滑度和粗糙度是同一度量的两端,通常使用0.0 - 1.0的尺度。要完全平滑,您可以使用 1.0 的平滑值或 0.0 的粗略值。

查看图像,大部分黑色表示零值,而大部分白色表示一个值。使用它来确定您希望它使用的秤的哪一端。

使用节点或图像编辑器,您可以在将平滑贴图连接到粗糙套接字之前反转它。

数学上是

smooth = 1.0 - rough

rough = 1.0 - smooth

要添加到采样器的答案中,如果您在着色器图形中制作图形或放大并仅将粗糙度贴图的结果通过负一节点然后将其插入平滑度插槽,这是一种非常简单的方法快速获取 material 中的平滑度修改器作为粗糙度修改器。

您可以使用Unity提供的Autodesk Shader。它支持粗糙纹理。 https://docs.unity3d.com/Manual/Shader-Autodesk-Interactive.html