【Unity3D技术文档翻译】第2.3.3.5篇 平滑度(Smo
上一章:【Unity3D技术文档翻译】第2.3.3.4篇 金属模式:金属参数
本章原文所在章节:【Unity Manual】→【Graphics】→【Graphics Overview】→【Materials, Shaders & Textures】→【Standard Shader】→【Material parameters】→【Smoothness】
平滑度(Smoothness)
平滑度参数在金属(Metallic)和镜面(Specular)着色器下都有平滑度的概念在镜面工作流与金属工作流中都有应用,并且作用的方式基本相同。默认情况下,没有分配金属或者镜面纹理贴图时,材质的平滑度由一个滑动条控制。该滑动条允许你控制“微表面细节(microsurface detail)”或者表面的平滑度。
两种着色器模式都显示在上图中,如果你为金属或者镜面参数选择使用了一张纹理贴图,平滑度值将从该贴图中取出。在这一页下面有更详细的介绍。
平滑度值从0到1“微表面细节(microsurface detail)”在 Unity 中不直接可见。这是一个用于光照计算的概念。你可以通过从物体表面反弹的一定数量的漫反射光线,来看出微表面细节的效果。在光滑的表面上,所有光线倾向于沿着可预测并一致的角度反弹。极端情况下,完美平滑的表面将像一面镜子一样反射光线。在较不光滑的表面上,反射光线的角度范围更广(因为光线照到了微表面的凸起处),因此反射的细节更少,并且以更分散的方式分布在表面。
低、中、高平滑度的对比(从左到右),仅作为一个理论上的材质微表面细节的图表。黄色线代表照射表面的光线,以及在不同平滑度等级上的反射角度。一个光滑的表面具有非常低的微表面细节,甚至一点都没有,因此光线以均匀的方式反射,建立清晰的倒影。一个粗糙表面的微表面细节具有高峰与低谷,因此反射光线的反射角度范围更广,当平均出来时,就创造了一个没有清晰倒影的漫反射颜色。
低、中、高平滑度值的对比(从上到下)在低平滑度等级,表面上每一点的反射光来自于一个宽广的区域,因为微表面细节凹凸不平且光线分散。在高平滑度等级,每一点的反射光来自于一个狭窄的集中区域,更清晰地反映物体的环境。
使用一张平滑度纹理贴图
和许多其他参数一样,你可以分配一张纹理贴图,而不是使用单个的滑动条。这使你更好地控制材质表面镜面光反射的强度和颜色。
使用一张贴图而不是滑动条,意味着你能够创建表面分布各种各样平滑度等级的材质(通常被设计用于匹配反照率(albedo)纹理)
Property | Function |
---|---|
Smoothness source(平滑度来源) | 选择存储平滑度值的纹理通道 |
Specular/Metallic Alpha(镜面/金属透明通道) | 因为表面上每一点的平滑度都是一个单值,所以只需要纹理贴图上的单个通道。因此选择本选项,平滑度值将来自于金属或者镜面纹理贴图的透明通道(取决于这两种模式你选择哪一种)。 |
Albedo Alpha(反照率透明通道) | 选择本选项能够减少纹理的数量,或者使用不同分辨率的纹理用于镜面/金属的平滑度值。 |
Highlights(高光) | 点击该选项将关闭高光。对于移动设备这是一项可选的优化。它移除了来自标准着色器的高光计算。该效果怎样影响外观,主要取决于镜面/金属值和平滑度值。 |
Reflections(反射光) | 点击该选项将关闭环境反射。对于移动设备这是一项可选的优化。它移除了来自标准着色器的高光计算。将使用一张近似的贴图,而不是从环境贴图中采样。该效果怎样影响外观,主要取决于平滑度值。 |
越光滑的表面具有越高的反射光,以及更小更集中的镜面高光。越不光滑的表面具有越低的反射光,镜面高光越不明显且在表面传播得更广泛。通过将镜面和平滑度贴图映射到反照率贴图,你就能创建非常真实的纹理效果。
如果本文对你有帮助的话,点个赞或者评论一下吧!