哈喽,各位观众朋友们好鸭~欢迎来到讲道理画图的地方,我是黄玮宁。
最近呀经常有小伙伴来问我那些不同通道的材质贴图该怎么用,而且频率不是一般的高,所以我觉得有必要来说说这些通道贴图的用法了。
视频版(B站空间:黄玮宁UID:86509581同步收录)
http://www.bilibili.com/video/av53715303
- 文字稿 -
时至今日,越来越多的材质贴图网站出现在大家的视野中,许多人看到这类资源就跟打了鸡血似的拼命下载,屯了一大堆。
但是某一天,当他们打开这些贴图文件夹的时候就懵逼了:这花里胡哨的都啥玩意儿呀??
一些对PBR(Physically-Based Rendering)材质有初步了解的朋友倒是可以根据贴图名称里的后缀分辨贴图类型,但是当他们把贴图扔进对应通道后,却发现渲染效果和网站里的预览图差远了,这是网站在骗人,货不对板吗?
当然不是了。预览图是真的,也确实是使用那些通道贴图做的,但并不是单纯地一个萝卜一个坑就完事儿的。
这里我们拿到一套砖墙的 PBR 贴图,来看看这些通道贴图都是啥意思,该怎么用。
常见的通道贴图有:
(1)Diffuse/Albedo/Basecolor 漫反射
(2)Reflection/Specular 反射
(3)Metalness 金属度
(4)Glossiness 光泽度
(5)Roughness 粗糙度
(6)Normal 法线
(7)Displacement/Height 置换
(8)Bump 凹凸
(9)Ambient Occlusion 环境光遮蔽
# 漫反射
常带有_diffuse/_albedo/_color后缀。漫反射即是光线穿入物体内部,经过多次散射后穿出物体表面向四面八方漫射的现象。在这里可以简单理解成物体表面固有的颜色。
漫反射贴图的用法那可太简单了,往材质漫反射槽一扔就完事了,这都不会就退出渲染界吧。
# 反射
常带有_reflection/_specular后缀。反射贴图控制的是材质的反射贡献及颜色。一般来说,除了类似金、铜这样的有色金属,反射贴图都是以黑白单色的形式出现,1(白色)表示全反射,0(黑色)表示不反射。
在制作有色金属时,反射贴图涉及反射颜色的控制,此时需要对贴图进行 degamma,即使用默认的 sRGB(2.2)加载,与漫反射贴图类似。
其他情况下,当反射贴图只涉及反射强度的控制,即呈现为黑白单色时,我个人习惯使用线性(1.0)加载,不对贴图进行 degamma。这么做也能避免对反相等操作产生干扰(对反相的影响详见:V-Ray 中反相的小tips)。
# 金属度
常带有_metalness后缀。估计很多人会对金属度这个概念感到陌生,它是metalness-roughness工作流中的一种材质属性,描述材质是金属还是电解质,1(白色)表示为金属,0(黑色)表示为电解质。这里因为砖墙完全不具备金属性,所以 metalness 贴图为纯黑色。
听着有点抽象,我们可以对应着 IOR 来理解。金属度参数真正控制的是F0,即菲涅尔反射中,与相机射线垂直的面的反射率。当 metalness=0 时,F0=0.04,也就是 IOR=1.5 时对应的 F0;当 metalness=1 时,F0=1;metalness 在 0-1 之间取值的时候,F0 也就在 0.04-1 之间取值,且在这个过程中F90 恒定为 1。
*图源:https://academy.substance3d.com/courses/the-pbr-guide-part-1
在我们熟悉的 specular-glossiness 工作流中,没有一个参数可以和 metalness 相对应。要注意,specular 和 metalness 意义完全不一样,前者控制的是整个材质球的反射强度,而后者只改变材质球正面的反射率(F0),侧面的反射率(F90)则恒定为 1。真正和 metalness 有对应关系的应该是折射率 IOR。(对于金属度的理解参考自戴老师的一则知乎回答:https://www.zhihu.com/question/49032411/answer/118293944)
必须使用线性(1.0)的方式加载。这种贴图只有在我们使用 V-Ray Next 新增的 Metallic 材质球的时候才会用到。至于两种 PBR 材质工作流如何选择,我建议用熟悉的 specular-glossiness 就好。
# 光泽度
常带有_glossiness后缀。光泽度贴图定义的是材质的粗糙程度,1(白色)表示材质表面非常光滑,0(黑色)则表示十分粗糙,这个属性控制着反射(折射)效果的模糊程度。
建议使用线性(1.0)加载。因为在使用这种代表强度的贴图时,我个人喜欢将色值作为物理信息,与单色的反射贴图同理。
# 粗糙度
常带有_roughness后缀。粗糙度和光泽度是反义词,即粗糙度=1-光泽度,相当好理解,配合 metalness 贴图使用。
建议使用线性(1.0)加载,与 glossiness 贴图类似。
# 法线
常带有_normal后缀。法线贴图的原理是利用色彩信息的 RGB 色值分别代表 xyz 三个方向上的位移。本质上只改变了光线在材质表面的传播方式,并没有产生实际的模型形变。
因为不同贴图生产商使用的流程可能不同,法线贴图会有两种模式:OpenGL 和 DirectX。OpenGL 的 RGB 对应坐标为(+X,+Y,+Z),而 DirectX 则为(+X,-Y,+Z),说人话就是:如果出现了诡异的凹凸效果,需要使用颜色校正节点对法线贴图的绿通道进行反相。(更多法线原理详见:个人速查向01|法线贴图的正确打开方式)
必须使用线性(1.0)加载,并将凹凸贴图类型改为法线(切线空间)。
# 置换
常带有_displacement/_height后缀。置换贴图的原理是将模型面经过细分后根据贴图的灰度在 z 轴方向上产生位移。0.5中灰色的地方高度不变,0.5~1浅灰(白)的地方沿法线方向凸起,0~0.5深灰(黑)的地方沿法线的反方向下凹。
必须使用线性(1.0)加载,且将该材质模型面打组,给组赋予相同的材质(具体操作方式详见上篇文章:『置换』正确打开方式)。置换贴图的使用会极大地占用内存并拖慢渲染速度。
# 凹凸
常带有_bump后缀。置换的弟弟,与法线贴图类似,只改变光线在材质表面的传播方式,并没有产生实际的模型形变。操作更简洁,不打组也能生效。不过我个人习惯在有法线贴图的时候优先使用法线贴图。
建议使用线性(1.0)加载。个人习惯,与光泽度贴图同理。
这些个通道都理顺以后,我使用specular-glossiness工作流,将这些贴图正确地加载到对应的贴图槽,测试渲染一下看看效果。
整体效果还不赖,粗糙的砖墙没什么反射效果很正常。但是,其置换效果就不那么令我满意了,特别是砖块缝隙处的细节不足,显得粗糙。诶?咱是不是还有个 AO 贴图忘了介绍了?这个贴图的使用应该是最多人为之感到困惑的了。
# 环境光遮蔽
常带有_ambientocclusion/_ao后缀。AO 可以简单理解为描绘物体和物体相交或靠近的时候遮挡周围漫反射光线的效果。AO 贴图的意思就是我们的模型面根据置换贴图产生模型形变后,根据这个新模型中体量的互相遮挡生成一张 AO 图。
1)首先增强砖缝处的凹凸对比。将置换贴图与 AO 贴图用Mix(Operator)混合节点进行混合,混合模式为正片叠底,并使用Bezier Curve 贝兹曲线节点将 AO 贴图的灰度提高一些,给置换贴图叠加一层微妙的压暗效果。
效果如下:
2)接着丰富砖缝处的暗部细节。用同样的方法混合漫反射贴图和 AO 贴图。
最终对比效果如下:
一个精致的砖墙材质就做好啦!
所以 AO 贴图常用的两种用法是:
1)与漫反射贴图叠加,使用正片叠底模式,丰富材质的暗部细节。
2)与置换贴图叠加,使用正片叠底模式,增强凹凸效果的对比。
另外需要特别注意:AO 贴图亦或是AO 渲染元素的本意是用于解决漏光、飘和阴影不实等问题,增强材质的真实感。又或是改善场景中缝隙、褶皱与墙角、角线以及细小物体等表现不清晰的问题,增强空间的层次感。那么当我们既使用置换让模型产生真正的凹凸形变,又使用 Brute Force 来计算无偏差的 GI 时,理论上是不需要再人为叠加额外的 AO 效果的。但如果叠加了以后还能更好看?那何乐而不为呢?
所以 AO 贴图的使用更是一个增强画面效果的艺术性选择,不是一个材质制作的必要元素,应该根据视觉效果酌情使用,不要无脑叠叠乐。
通过这套贴图的使用,我们就已经梳理出 PBR 材质贴图的使用方法了。所得结果与预览图有所差异更多是因为两者场景的光环境不同,且预览图会经过不同程度的后期处理,毕竟贴图厂家也不是直男,不会直接扔个 raw render 出来做广告:)
.
.
.
那么本期分享就告一段落了吗?
NONONONONO
通过上面各类贴图的讲解,我们似乎可以得出这样一个结论。材质的表现属性主要分为三类
1)颜色信息(漫反射)
2)反射信息(反射、光泽度)
3)高度信息(法线、凹凸、置换)
换句话说,只要将这三个信息类型依次进行细化,就可以得到我们想要的材质效果。那么问题来了,这些材质信息的细化就非要成品贴图不可吗?其实不然。
在日常学习工作中,无论是前期的设计推敲,还是给甲方确定材质意向,我们经常遇到只有漫反射贴图的情况。在掌握了前面提到的各类材质属性的概念后,只用一张漫反射贴图来为材质细化反射信息和高度信息并不是一件难事。
这里我有一张木纹的漫反射贴图:
1)颜色信息交给漫反射贴图即可,我仅仅用颜色矫正节点增加了漫反射贴图的饱和度。
2)反射信息的细化自然是利用反射贴图和光泽度贴图了。先用颜色矫正节点将漫反射贴图去色;接着用贝兹曲线节点调整贴图的灰度。这里我的心得是:反射贴图的黑白对比可以稍微强烈些;光泽度贴图的对比稍弱,且整体灰度控制在0.6以上。
反射贴图参数:
光泽度贴图参数:
3)高度信息的细化则交给凹凸贴图。制作方法和反射贴图等如出一辙,需要注意的是凹凸贴图的强度,一般我会从0.05开始测试,多退少补,总能找到一个合适的数值。
凹凸贴图参数:
就这么简单,一个质量上乘的木纹材质就做好了。
# 总结
最后总结一下,材质的制作其实也就是对各项材质属性进行细化的过程。在制作材质的时候,首先要明确自己的目标,心中要知道这个材质应该是怎样的;其次就是善于利用贴图间的相互配合,根据测试的视觉效果来对应调整,以达到满意的效果。
成品通道贴图的使用无疑可以加快制作过程,让材质的制作变得简单粗暴。与此同时,我们也应该吃透材质属性的基本内涵,这样哪怕只有一张漫反射贴图,细化材质也是分分钟的事。
本次分享就真的告一段落了,我会将用到的砖墙贴图和木纹贴图打包分享给大家,使用我的方法自己玩耍一遍,我相信你一定会有所启发。
链接:
https://pan.baidu.com/s/1EdcmG9-qsM7QCwMHqJ8SJQ
提取码:0v3p
如果这篇文章对你有所帮助,欢迎关注-好看-转发素质三连,同时别忘了关注我的B站空间:黄玮宁(UID:86509581)
感谢各位的观看,我们下期再见。
完全听不懂
回复果子uu: 难受 不值得骄傲
我也是
解决了我多年来的迷惑
很厉害的样子,先插个眼
回复L家: 我也是
完全听不懂