正常的,我们都可以想到:0(黑色)代表的是 没有金属度/不是金属,而1(白色)代表的是 都是金属度/是金属。那么我在刚开始学习的时候,就会很难办,如果>0且1<(灰色)如何去表述呢?它代表的是一半金属吗?现实里有一半金属的材质?
在互联网上,最容易获得的答案是:金属度如果是灰色,那就是不规范的,错误的。但是现实往往是,我们常能看到即使是一些大型的项目或者网上一些大触在展示作品时,会用到整体灰色也有很多占比的金属度图。
PBR的全称是 Physically Based Rendering 基于物理的渲染——模拟光线在真实世界中的物理行为。 是一套现代计算机图形学中的渲染理念与方法,其核心目标是通过模拟光线在真实世界中的物理行为,使生成的图像在各种光照环境下都能呈现出高度逼真和一致的效果。
在贴吧上可以找到更详细的文章介绍和下面这张图的出处。
从技术上来看,PBR是数学物理与算法。然而,PBR的数学与物理实现是一回事,它在实际中作为艺术家的可操作的工作流程就会衍生出不同于程序思维的情况。
在PBR(基于物理的渲染)中,材质质感主要通过金属度与粗糙度两大核心参数来调控:
从光学物理的角度看,金属与非金属(亦称电介质或绝缘体)对入射光的响应机制存在根本差异,这直接决定了它们在渲染时所呈现的截然不同的视觉特性。对于金属而言,其内部存在大量可自由移动的电子。当光线照射到金属表面并发生折射、试图进入其内部时,这些自由电子会像一层极为高效的“能量吸收层”,几乎瞬间捕获光子的能量并将其转化为其他形式(如热能)。因此,光无法在金属内部进行有效的传播和散射,其光学行为几乎完全由表面反射主导。这也是为什么纯金属在PBR模型中通常不具备真正意义上的“漫反射”颜色,其表面所呈现的有色光泽,实质上是其反射率随波长变化的复杂菲涅尔效应所致。
而对于非金属,其电子被束缚得更为紧密。当光穿透表面进入材质内部后,会如同进入一个参与性介质,经历一个复杂得多的传播过程。这一过程主要包括两种作用:
正是基于这种物理区分,从编程与引擎实现的角度出发,将金属度视为一个二元(非0即1)的逻辑值是最为直接高效的。这便产生了“金属度贴图”——一张在理想情况下非黑即白的蒙版,用以明确告诉引擎:图中某个像素代表的材质,要么是金属(白色/1),要么是非金属(黑色/0)。
在PBR(基于物理的渲染)工作流中,金属度贴图的理论是清晰的。正如上图所示,当一张高精度的贴图被不断缩小观察时,其视觉呈现会发生微妙的变化。这一现象背后,隐藏着渲染引擎处理纹理的一个关键机制:纹理采样与多级渐远。
从技术实现层面看,一张在像素级别上被精心绘制的、“非黑即白”的理想金属度贴图,并不会被引擎以原始的、离散的“纯0或纯1”形式直接使用。当它被应用于一个在屏幕上只占据少量像素的模型,或者当摄像机拉远时,引擎会自动启用Mipmap(多级渐远纹理)技术。该技术会预先计算并生成一系列逐渐缩小的贴图副本,以优化性能和避免锯齿。在生成这些更小尺寸的图像时,多个原始像素的颜色信息会被混合平均。
于是,一个原本是“黑”与“白”紧密相邻的边缘,在缩小的层级中,就可能被计算为一个中间的灰色值。因此,引擎在采样时,实际上读取的是一张包含了连续灰度的图像。这正是许多顶尖游戏和影视作品中,金属表面能呈现出丰富、柔和的过渡与微妙视觉变化的底层技术原因之一——是物理采样规则与艺术家的艺术意图共同作用的结果。
因此,金属度参数的设定,在真实的创作环境中远非一个简单的物理是非题,而是一个面向视觉结果的开放命题。纯粹的理论二分法(金属或非金属)有时会让位于对“真实感”或“风格化”的终极追求。例如,一个生锈的铁器、一个沾染油污的铜件,或者一个表面有清漆覆盖的木制品,严格来说其整体并非纯金属。然而,为其整体或局部赋予一个介于0与1之间的金属度值(如0.2、0.5),往往能在渲染引擎中激发出更复杂、更生动的光影交互,从而得到比生硬的黑白划分更具质感、更富视觉说服力的结果。
这也自然地引出了一个行业共识:不同的项目,完全有理由根据其独特的艺术目标(是写实还是卡通?是废旧还是崭新?)与性能约束,来定制自己内部的材质制作规范。 没有一套放之四海而皆准的“正确”参数。
这正是为什么在技术论坛、艺术社区中,针对“这里该用金属度0还是1”的提问,往往会收获来自不同项目背景的、看似矛盾却各有道理的答案。而是艺术与技术在不同上下文中所做的不同权衡。作为美术向工作者,我们的要务还是在美术的方向上尽到自己的能力,将项目的艺术风格与视觉表现推向现实情况下的极致。
如果想进行理论上的更进一步了解,在贴吧内也有针对不同引擎的PBR讨论,以及更多相关的知识,欢迎大伙继续深入。
评论区
共 2 条评论热门最新