1. PBR到底是什么?从“像”到“是”的渲染革命
如果你玩过近几年的大作,比如《赛博朋克2077》或者《战神》,肯定会被里面那些金属盔甲的反光、潮湿街道的倒影,还有角色皮肤那种细腻的质感震撼到。这些让人惊叹的视觉效果,背后的大功臣往往就是PBR,也就是基于物理的渲染。
听起来很高深?其实它的核心思想很直观:让计算机模拟光线在真实世界中的行为。在PBR出现之前,游戏里的材质渲染更像是在“画”和“猜”。美术师需要凭经验去调高光强度、反射颜色,努力让一个金属球“看起来像”金属。但这种方法问题很大,同一个材质,换个环境光,可能就完全不对味了,得重新调。PBR则不同,它定义了一套物理上正确的规则,告诉引擎:“喏,这就是金属,这就是塑料,它们在各种光照下就该是这个样子。” 这样一来,材质的表现就可预测、可复用了。你把一个做好的黄铜材质,无论是放在沙漠正午的烈日下,还是放在幽暗的烛光旁,它都能自动呈现出符合物理规律的正确外观,省去了大量适配不同灯光环境的手动调整工作。
这背后的光线原理,我们可以用一个简单的场景来理解。想象一束光打在一个苹果上。这束光一部分会立刻从苹果光滑的表皮反射出去,这就是我们看到的“高光”。另一部分光则会折射进苹果皮内部,在果肉微粒之间东碰西撞(这个过程叫散射),最后有些特定颜色的光(比如红色)又从各个方向钻了出来,进入我们的眼睛,这就是我们看到的苹果本身的固有色。PBR材质的工作,就是通过一系列贴图和参数,精确地描述这个表面:它反射多少光(金属度)、反射的光有多锐利(光滑度/粗糙度)、它的基础颜色是什么(反照率)、表面有哪些微观凹凸(法线贴图)等等。
所以,PBR不仅仅是一种更“好”的渲染,它更是一种标准化的制作流程。对于美术师来说,它意味着更直观的工作流(参数对应物理属性);对于开发者来说,它意味着更稳定的渲染效果和更高效的资源管理。接下来,我们就深入看看,在Unity里,这些物理属性具体是怎么被“翻译”成可调节的参数的。
2. 拆解Unity Standard Shader:你的PBR材质控制面板
Unity的Standard Shader(标准着色器)是大多数开发者接触PBR的起点。它把复杂的物理公式封装成了一个直观的材质面板。别看参数一堆,理解了背后的物理含义,用起来就得心应手了。我们一个个来拆解,我会结合我实际调材质时踩过的坑来聊聊。
2.1 核心三剑客:Albedo, Metallic, Smoothness
这是决定一个材质“本质”的三个最核心参数。
Albedo(反照率贴图):这就是材质的“底色”或“固有色贴图”。它定义了材质不反射那部分光的颜色。关键点在于,它不应该包含任何光照信息(比如阴影、高光)。一张正确的Albedo贴图,在纯白光照射下,看起来应该是均匀、稍显平淡的。新手常犯的错误就是把带光影的漫反射贴图直接当Albedo用,这会导致PBR光照计算重复叠加,让物体看起来像自发光或者很“脏”。对于非金属材质,Albedo可以是任何颜色;对于纯金属,理论上它的Albedo应该是黑色或接近黑色,因为金属几乎不折射光(没有漫反射),所有颜色信息来自反射。
Metallic(金属度):这是一个从0到1的滑块或贴图(黑白)。它回答了“这个表面是金属吗?”这个根本问题。
- 0(非金属):如塑料、木材、橡胶。它们有明确的Albedo颜色,反射的光线很弱且反射颜色通常不是彩色的(可以理解为反射环境光的


2万+

被折叠的 条评论
为什么被折叠?



