Unity Shader - Metallic mode: Metallic Parameter 金属模式的参数

时间:2024-04-04 18:07:16

目录:Unity Shader - 知识点目录(先占位,后续持续更新)
原文:Metallic mode: Metallic Parameter
版本:2019.1

Metallic mode: Metallic Parameter

Unity Shader - Metallic mode: Metallic Parameter 金属模式的参数
当使用Metallic工作流,物体表面的反射率与光照的反射程度由Metallic和Smoothness来控制。
Unity Shader - Metallic mode: Metallic Parameter 金属模式的参数
使用这种方式高光反射依然还有,但提升了更自然的方式来设置效果,只要设置Metallic与Smoothness程度,好过直接去设置(Specular Shader的方式)。

金属模式不仅仅只对金属效果。因为你可以控制金属程度到达到是金属或不是金属的表面效果。

Metallic parameter

金属参数

材质中的metallic参数决定了物体表面看起来像不像金属。但表面越是偏于金属,环境的反射则越强,对应的albedo颜色就越弱。当把metallic参数设置满,即金属性超高的表面颜色将完全受环境内容驱动。当金属性越低(metallic参数越小),albedo颜色将越清晰。
Unity Shader - Metallic mode: Metallic Parameter 金属模式的参数
metallic参数从0.0~1.0(smoothness保持为0.8)

如果不设置纹理,Metallic和Smoothness参数将有对应的滑动器来控制。这对某些材质够用了。如果你的模型表面混合着Albedo纹理,你可以使用metallic纹理贴图和smoothness来控制对应Albedo纹路上的表面的metallic和smoothness的程度。如:你有张纹理包含了角色衣服和一些金属纽扣和金属拉链。你想让纽扣和拉链都拥有比衣物织物更好的金属效果。为此,不应该只用一个metallic数值来控制所有表面,而应该使用一个metallic纹理的像素来控制模型上纽扣与拉链有更亮的,更高金属性,衣物织物则暗一些,没那么金属性。

使用纹理来设置Metallic参数,Metallic与Smoothness参数的滑动器都不显示(还是与前一篇Specular的情况一样,可能这个文档对应的当时的Unity版本比较老旧,我亲测过,现在2018.3.0f2版本中Smoothness还是保留显示可设置使用的)。Metallic金属程度值有纹理中的红色通道老控制,Smoothness平滑程度由纹理的Alpha通道控制(这意味着绿和蓝通道都没使用到)。这意味着你可通过单张纹理来控制粗糙度与平滑度,还有金属度或非金属度,这对于控制模型不同区域不同的属性的需求是很有用的,如,单张角色纹理贴图通常包含多个表面不同的需求,皮革鞋,衣服布料,手和脸的皮肤,和金属纽扣。
Unity Shader - Metallic mode: Metallic Parameter 金属模式的参数
此图所示没有使用metallic纹理

在上面的例子中,有设置albedo贴图,但没设置Metallic纹理。意味着整个物体的所有表秒的metallic和smoothness都一样的,这不太理想。皮带,金属扣,贴着的标签和手柄都应该显示不一样的表面属性。
Unity Shader - Metallic mode: Metallic Parameter 金属模式的参数
此图显示使用了metallic贴图

此例中,Metallic/Smoothness都以纹理方式设置了。带扣已有了金属性的光泽。皮带与皮箱都有了更亮的光泽,但它们都是底"Metallic"(底金属性)的,所有显示的表面都是想金属。右边的黑白贴图显示了更亮的是金属,中等亮度是皮革。