Unity3D 5 官方教程:标准着色器之材质参数(二)

金属模式:金属参数

这里写图片描述
当在金属工作流(不同于镜面工作流)下工作时,表面的反射成都和光照反应由金属性级别和平滑度级别来修改。
这里写图片描述
当使用这个工作流时,镜面反射仍然被生成;但依赖于给予Metallic和Smoothness级别的设置而自然出现,不是被指定的。
金属模式并非仅仅用于看起来应该是金属的材质!此模式名为金属,是因为用户控制表面如何成为金属或非金属的方式。

金属性参数

材质的金属参数决定了表面如何“像金属那样”。当一个表面更加金属化,它更多地反射环境,albedo色变得更难看到。在完全金属级别下,表面颜色完全由环境的反射而驱动。当表面更不金属化,他的albedo色更清晰,并且在表面颜色上,任何表面反射是可见的,而不是隐藏掉。
金属值从0到1范围(平滑值保持为常数0.8)。
金属值从0到1范围(平滑值保持为常数0.8)。
默认情况下,没有纹理被分配,金属性和平滑度参数各用一个滑块条控制。这对于某些材质已然够用了。然而如果模型的表面在albedo纹理中有表面类型的混合,可以使用纹理贴图来控制金属性和平滑度级别如何在通过材质表面时改变。例如,如果纹理包含了一个角色的衣服,包括一些金属纽扣与编码。用户将希望纽扣和编码比衣服的布料有更高的金属值。为了达成此目的,不使用单一一个滑块值,可以分配一个在纽扣和编码区域包含了更高像素颜色的纹理贴图,以及在布料处为更暗的值。
随着一个纹理分配给金属性参数,金属性和平滑度滑块会消失。取代的是:被通过纹理的红色通道所控制的材质金属级别。并且材质的平滑级别会被纹理的alpha通道控制。(这意味着绿色和蓝色通道被忽略了)。这意味着你有单个可以定义区域是粗糙或平滑、金属或非金属的纹理,当工作于覆盖了一个对于很多区域有不同要求的模型的纹理贴图时很有用——例如一个角色的纹理贴图经常巴夯多种表面要求:皮鞋,布料衣物,手与脸的皮肤,以及金属纽扣。

这幅图展示了模型没有金属贴图的情形。
这幅图展示了模型没有金属贴图的情形。
在上面的例子中,有一个albedo贴图,但没有对金属的纹理。这意味着整个物体只有单个金属性数值和平滑度数值,并不合理。Leather straps,金属纽扣,sticker和handle应当都出现不同的表面性质。
这幅图展示了模型应用了金属贴图的情况。
这幅图展示了模型应用了金属贴图的情况。
在这个例子中,一个金属/平滑的纹理贴图已被分配。纽扣现在拥有高的金属值,由此对光照有反应。盒子的Leather straps比leather body更闪亮,然而它们金属值低,所以显出闪亮的非金属表面。在右端远处的黑色、白色贴图展示了对金属更光亮的区域,以及对leather中等到低的灰度。

平滑度

The smoothness parameter, shown in both Metallic & Specular shader modes.
平滑参数,在金属和镜面着色器模式的平滑参数都展示了。
平滑度的概念在镜面工作流和金属工作流下均可应用,并且在两种工作流下工作的方式大部分都一样。默认下,没有一个金属或者镜面纹理贴图被分配时,材质的平滑度由一个滑块控制。此滑块允许你控制“微小表面细节”或者纵贯表面的平滑度。
两个着色器模式在上面展示了;因为如果选择使用一个纹理贴图用户金属或锦棉参数,平滑度的值也从相同的贴图中采用。这在下一页中进行更细节地解释。

这里写图片描述
平滑度范围从0到1。
“微表面细节”在Unity里是无法直接看到的东西——但近在眼前。它是在光照计算中使用的概念。用户可以看到被光照数量所表现的微表面细节的效果被漫射,像是从物体上弹开。对于平滑的表面,所有光线趋向于在一个可预测及一致的角度弹开。极端情况下,一个完美平滑的表面像镜子一样反射光照。不那么平滑的表面,在更宽的角度范围内反射光照(由于光照碰到微小表面的隆起),因此反射的细节更少,被表面以更散漫的方式所传播。
这里写图片描述
一个材质的微表面细节理论在平滑度低、中、高时对比的示意图。黄色的线表示:在平滑程度变化情况下,光线接触到表面并反射的角度。
平滑的表面有非常低的微表面细节,或者根本没有,所以光线以统一的方式反弹,形成清晰的反射。粗糙的表面在它微表面细节存在高峰和低谷,所以光线在宽的角度范围反弹——均匀后的输出形成了漫射的颜色,没有清晰的反射。
一个在低、中、高平滑度值的对比。在低级别情况下,在每个点的反射光来自宽泛的区域,因为微表面细节是崎岖不平的,散射了光照。在平滑度高时,每个点的光照来自狭窄集中的区域,产生了对物体环境清晰得多的反射。

使用平滑度纹理贴图

类似于其它很多参数,可以用分配纹理贴图来代替使用单个滑块数值。这允许了更好的控制:用户可以改变在材质表面上镜面光照反射的强度和颜色。
由于表面上每个点的平滑度是单独的值,图片纹理只有一个通道被当做数据使用。因此平滑度数据被设定为储存在用于金属性或者镜面纹理贴图相同的图片纹理的alpha通道中(依赖于用户使用的模式)。
当在镜面工作流中工作时,如果分配了一个镜面纹理,平滑度滑块不再可用,因为镜面纹理的alpha通道将会被用户作为材质表面的平滑度数值。
类似地,在金属工作流工作时,如果分配了一个金属性纹理,平滑度数据采用金属性纹理的alpha通道。
使用贴图取代滑块,意味着可以创建在表面上有不同平滑度级别的材质(通常被设计来匹配在albedo纹理中显示的)。
左边:没有为镜面分配贴图,所以对平滑度有一个滑块。右边:分配给镜面一个贴图,所以图片的灰度alpha通道值用于平滑贴图。
左边:没有为镜面分配贴图,所以对平滑度有一个滑块。右边:分配给镜面一个贴图,所以图片的灰度alpha通道值用于平滑贴图。
更平滑的表面更能反射,有更小更紧密集中的镜面高光。不平滑的表面不会反射这么多,并且镜面高光不那么显眼,在表面上散开得更宽。通过将镜面和平滑度贴图匹配到在albedo贴图中的内容,可以开始创建看起来非常真实的纹理。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值