想象你站在一个黑色剧场里,一束追光打向舞台中央的“神奇墙面”——那面墙可能是锃亮的金属门,可能是粗糙的乳胶漆,也可能是贴了壁纸的石膏板。观众的每一次注视,都像一群提着灯笼的访客跑到墙面前:墙面决定谁能被接待、又该让多少“光”作为回礼弹进你的眼睛。传统渲染靠美术一个个“手绘”灯光效果,费时且容易失真;而 PBR(基于物理的渲染)给墙面装了一套标准接待手册——光怎么量化、微表面怎么散射、金属和涂料怎么区分、环境光怎么预计算。从渲染方程到引擎落地,这套手册让画面无论在 Unity 还是 UE5 里都保持一致的真实感。
理解 PBR 物理渲染管线,是进入实时渲染与 AI 数字内容生成领域的“光照基本功”,也是技术美术、渲染工程师做引擎选型与材质调优的决策核心。
目录
可视化演示
交互展示PBR渲染的BRDF微表面光照模型、金属度粗糙度材质工作流及IBL环境光照预计算过程。
本节配有交互动效(进入视口后自动加载,约 3KB)。
BRDF:微表面光照模型 入射光经微表面法线散射后按BRDF分布反射 半程向量H决定镜面反射峰值强度 f_r = D(h)·G(l,v)·F(h) / (4·|n·l|·|n·v|) Cook-Torrance BRDF通过D(GGX)分布函数模拟微表面散射实现物理真实渲染
光照基础:光从哪来
想象舞台上那束追光:灯光师先要回答“每盏灯到底送来了多少光”。他拿着一台辐照度计,把镜头对准四面八方——记录的读数,就是光的“数量”。辐射度量学做的就是这件事:它把光按方向、面积、立体角量化,让“这束光有多亮”不再是感觉,而是数字。光源也因此分成几种来客方式:远得几乎平行的方向光(太阳)、能算衰减的点光、还有带锥角的聚光,就像访客有的排着齐整方队,有的从四面八方蜂拥而至。
但光来了还不够,墙面得回答“这些光最后能留下什么”。把所有方向进来的光、墙面逐一的回应全部加起来,就是渲染方程——它是整个 PBR 大厦的地基,后面的 BRDF、微表面理论,都是在替这个方程填细节。
渲染方程就是接待手册的总纲:先数清每个方向的来客,再按规则回礼。后面的所有 PBR 知识,都在逐页填写这本手册的细节——微表面怎么接待、金属怎么区别对待、环境光怎么偷懒。
- 输出项 \( L_o(v) \)观众沿 \( v \) 方向看过去,最终收到的那份“光回礼”。
- 自发光项 \( L_e(v) \)表面自己点亮的光,比如屏幕像素本身在发光。
- 半球积分 \( \int_{\Omega} \)把表面上方的整个半球方向都扫一遍,把所有来客逐个登记。
- 入射光照 \( L_i(l) \)从方向 \( l \) 到达表面的光能量。
- 材质响应 \( f(l, v) \)墙面“接待规则”,即 BRDF——从 \( l \) 进、往 \( v \) 出。
- 余弦衰减 \( n \cdot l \)光斜射时能量摊到更大面积,看起来更暗。
微表面理论:墙面上的镜片拼图
把神奇墙面放大一万倍,你会发现它根本不是平的,而是无数凹凸不平的小镜片挤在一起——像一张砂纸,又像揉皱的锡纸。每片小镜片都朝自己的方向,这就是微表面。光打在墙面上,实际是在和这片“镜片拼图”打交道:有的镜片恰好把光反弹进观众的眼睛,于是形成亮斑;有的镜片朝向另一边,光就跑到别处去了。
所以研究反射,本质是研究“镜片朝向的统计学”。法线分布函数(NDF)回答:在所有微法线里,有多大比例正好朝向中间向量 \( h \)?GGX(Trowbridge-Reitz)是目前最流行的 NDF——它用一个参数 \( \alpha \) 控制分布峰的宽窄,峰越尖,高光越锐利。另外还有两个配角:几何遮蔽 \( G \) 描述凹凸互相遮挡导致边缘变暗,菲涅尔 \( F \) 描述掠射角时反射变强。它们三兄弟共同撑起微表面故事。
打磨墙面,就是让千万个小镜片方向趋于一致,反射自然锐利如镜;喷砂则让它们杂乱无章,光被均匀丢向四面八方。GGX 正是描述这两种状态之间的平滑过渡的数学工具。
- 中间向量 \( h \)入射方向与出射方向折半后的方向,只有微法线朝向它才能产生镜面反射。
- 粗糙度参数 \( \alpha \)美术给的 roughness 先平方,让高光边缘过渡更自然。
- 法线夹角 \( (n \cdot h) \)微法线与墙面平均法线的点积,衡量镜片偏离平均朝向的程度。
- 分母平方项用平方把分布塑造成“中间高、两边快速衰减”的高斯式峰形。
BRDF模型:材质的回礼手册
接待手册终于翻到正文:BRDF(双向反射分布函数),全名很长,但职责很单纯——规定“从 \( l \) 方向来的光,经过墙面,会以多大比例飞向 \( v \) 方向”。好比访客从哪个门进、要求从哪个窗出去,接待处只给一张“转换票据”。
PBR 最常用的 BRDF 是 Cook-Torrance 模型,它把回礼分成两大袋:一袋是漫反射项,像乳胶漆墙面把光照均匀嚼碎吐向所有方向,因此无论从哪个角度看颜色都一样;另一袋是镜面反射项,像金属门板只朝特定方向抛回光线,成为高光。两袋能量占比由金属度和菲涅尔共同决定。
漫反射是涂料墙的“慷慨”——无论从哪看都一样;镜面反射是金属板的“挑剔”——只朝特定方向抛出耀眼光束。Cook-Torrance 让这两种性格在同一面墙上按物理比例和平共处。
- 漫反射系数 \( k_d \)总能量中走漫反射通道的比例,非金属较大,金属几乎为零。
- Lambert 漫反射项 \( c/\pi \)把表面固有颜色 \( c \) 均匀洒向半球,\( \pi \) 是归一化常数。
- 镜面项分子 \( F\,D\,G \)菲涅尔决定反射强度,法线分布决定方向集中度,几何遮蔽修正凹凸遮挡。
- 归一化分母 \( 4(n\cdot l)(n\cdot v) \)用入射角与出射角的余弦乘积校准能量,避免光照溢出过亮。
金属度工作流:金属还是涂料
装修现场最需要分清两样东西:金属门板和乳胶漆墙。金属门板会把周围环境颜色整块映出来,几乎没有自己的固有色;乳胶漆墙则把光“嚼碎”,混进自己的颜色再吐出来。用 PBR 的话说:金属的导电性让光只能反射,不能渗入表面形成漫反射;非金属的绝缘特性则允许光进入内部散射。
金属度工作流正是从这个直觉出发:metalness = 1 时,漫反射通道被彻底关闭,镜面反射的 F0 直接取 baseColor(于是金属的固有色其实就是环境反射的颜色);metalness = 0 时,反射强度固定在约 4%,剩下 96% 走漫反射。美术只需画一张灰度金属度贴图,就能让铁锈、油漆、镀铬在同一物体上无缝过渡。
判断墙面是金属还是涂料,接待手册的写法完全不同:金属直接映出环境,涂料先染色再吐出。金属度贴图就是挂在墙上的“门牌号”,PBR 靠它一键切换两套接待逻辑。
- 基础反射率 \( F_0 \)垂直入射时的反射比例,金属取 baseColor 着色,非金属恒定为 0.04。
- 掠射修正 \( (1-\cos\theta)^5 \)随着视线与法线夹角增大,反射率以五次方速度飙升。
- 金属与非金属的 \( F_0 \)金属的 F0 是有颜色的向量,非金属是均匀的 0.04 标量——这就是金属自带“环境镜面”的原因。
粗糙度与法线:打磨与浮雕
灯光师手里有两把刷子。第一把是“打磨程度”——粗糙度,它决定反射光收回来的形状:墙面打磨得像镜面,高光一点;墙面喷砂成磨砂玻璃,高光晕成一大片。第二把是“贴壁纸”——法线贴图,它用 RGB 编码微表面的朝向,让一块平面假装有砖缝、铆钉和划痕,却不增加任何真实几何。
两者分工明确:粗糙度控制光的“散开程度”,法线贴图控制光的“朝向细节”。在 GGX 里,粗糙度会先被平方成 \( \alpha \),再代入法线分布函数——这一步看似简单,却决定了高光边缘是从“锐利”到“柔滑”的视觉过渡,而法线贴图则通过改变每像素的 \( n \) 值,让 GGX 的峰整体倾斜,模拟凹凸带来的明暗变化。
打磨和贴壁纸双管齐下:墙面既能反射出窗外轮廓,又能浮现砖缝的立体感。两者配合时,先定粗糙度再叠法线,才能避免“高光在浮雕上乱跳”的违和感。
- 美术参数 roughness取值范围 0 到 1,0 是镜面,1 是全哑光。
- 平方映射 \( \alpha \)把粗糙度平方,让高光在“几乎光滑”区间有更细腻的过渡。
- 代入 GGX 分子分母\( \alpha \) 越小,D 的峰越高越尖;\( \alpha \) 越大,峰越矮越宽。
IBL环境光照:环幕天光
舞台不只靠一束追光。真正让观众身临其境的,是四周环幕投影播放的全景照片——墙面被四面八方微弱的环境光包围。这就像晴天站在广场,头顶的天空、脚下的地面、周围的建筑都在向你发射光线。实时渲染不可能逐束计算,于是聪明的灯光师采用“预布光”:提前把环境贴图卷积成一张张模糊等级不同的图,存进 mipmap——模糊程度恰好对应不同粗糙度。
这就是基于图像的光照(IBL)。漫反射部分用球谐函数压缩成几个系数,运行时三五个浮点运算即可还原低频环境光;镜面部分则根据粗糙度选择对应 mip 层做一次纹理采样。原本要循环几千次的积分,被压成了“查一次表”。
环幕影片提前拍好、提前柔化,演出时一键开灯,墙面立刻被环境包围。IBL 的精髓就是“把复杂留给人少的时候”——预计算的每一分努力,都在为运行时省下百倍开销。
- 预滤波结果 \( L_{\text{prefilter}} \)把环境光与 BRDF 的卷积提前算好,存成一系列模糊贴图。
- 环境入射光 \( L_i(l) \)来自环幕四面八方每个方向的光强度。
- 粗糙度相关 BRDF \( f(l, v, r) \)不同粗糙度对应不同的卷积核,粗糙度越大模糊越狠。
- 运行时查表roughness 映射到 mip 层:
引擎实现对比:两套施工队
同一份设计图纸,交给两个施工队会得到不同的施工方案。Unity HDRP 队偏爱“探针阵 + 反射探针”的经典打法:在场景里埋一圈探针记录光照快照,再用屏幕空间反射(SSR)补细节。UE5 的 Lumen 队则像全场铺满雷达:用软件光线追踪把光的弹跳实时重算出来,连间接光照都是动态的。两队读的是同一本渲染方程手册,工程取舍却截然不同。
HDRP 的优势是可控:反射探针数量、SSR 步数、探针更新频率都能按项目性能预算精确调节。Lumen 的优势是省心:门窗一改,光照立刻跟着变,适合开放世界。但 Lumen 的逐像素开销更高,在低端机上需要降低分辨率或依赖硬件光追;HDRP 则在移动端有更成熟的 LOD 与烘焙流程。
两个施工队的目标一致:把渲染方程变成每像素几行指令。差别只在预算:HDRP 精打细算、步步为营;Lumen 大动干戈、实时重算。选谁,取决于舞台规模和票价(硬件成本)。
- 连续积分变求和 \( \frac{1}{N}\sum_{k=1}^{N} \)用有限个采样方向近似半球积分。
- 逐项求值 \( f(l_k, v) L_i(l_k)(n\cdot l_k) \)对每个采样方向做一次完整 BRDF 计算。
- 实时引擎的策略N 小就靠预计算和降噪补救——HDRP 用探针预烘焙,Lumen 用时空降噪。
材质调优实践:灯光师验收
验收环节,灯光师拿着测光表绕墙三圈:高光是否死白?金属是否发闷?暗部是否一片死黑?PBR 调优同样是围着参数转:第一步先定金属度——把墙面归成金属或非金属两类;第二步调粗糙度——控制高光的锐利程度;第三步用 HDR 环境和定向光验证,看反射是否自然。
调优背后有一条不可逾越的底线:能量守恒。反射出去的能量不能超过进来的能量。用金属度分配漫反射与镜面反射的占比,本质上就是在守住这条物理红线。违反它,材质会“越调越亮”,最后整体过曝。
物理正确是底线,“演出效果”才是目标。灯光师最终要让一块普通墙面在镜头前既真实又好看:在能量守恒的约束内,把金属度、粗糙度、环境光三颗旋钮拧到恰到好处。
- 漫反射比例 \( k_d \)非金属(metalness=0)时 k_d 约 0.96,金属(metalness=1)时归零。
- 镜面比例 \( k_s \)与 k_d 互补,金属越高镜面越占主导。
- 守恒约束两通道加起来必须等于 1,防止能量凭空增加。
AI 应用场景
AI 生成 PBR 材质贴图
阶段:内容生产与资产生成
解决的问题:传统美术手绘 baseColor、metallic、roughness 贴图往往要数小时,且不同画师对“金属度 0.8”的理解不一致,导致同一场景风格割裂。AI 可以直接从单张照片或文本描述生成整套 PBR 贴图,物理参数天然对齐 PBR 工作流。
具体案例:项目组用扩散模型从一张旧沙发照片生成整套贴图——反照率贴图保留了布纹,金属度贴图近乎纯黑(因为布料是非金属),粗糙度贴图在 0.7~0.9 之间波动。导入 Unity HDRP 后,沙发在 IBL 环境下的高光表现几乎与实拍一致。
AI 材质质检与自动调优
阶段:测试与质量保障
解决的问题:人工逐材质检查渲染输出枯燥且易漏。AI 用回归模型比较渲染小样与参考照片的差异,自动定位“高光过曝”“金属发闷”“反射断档”等 PBR 参数问题。
具体案例:在 UE5 中批量渲染 200 个材质的球体测试图,AI 判定其中 17 个材质的 roughness 通道疑似反相——高光分布与贴图明暗完全矛盾。工具自动输出修正建议,渲染工程师一键复核修复。
AI 辅助 PBR 资产跨引擎迁移
阶段:数据转换与部署
解决的问题:Unity HDRP 与 UE5 的贴图命名、通道顺序、法线 Y 轴方向都有差异,手动转换容易出错。AI 识别贴图语义后自动重映射通道与色彩空间,迁移效率提升数倍。
具体案例:某团队把 Substance Painter 导出的 metallic/roughness 贴图批量迁移到 UE5,AI 自动将 Unity 的 smoothness 反相为 roughness,修正法线贴图 Y 轴,并确保 sRGB 与线性空间标记正确,避免了“金属发黑”事故。
Python 演示
import numpy as np def ggx_ndf(n_dot_h, alpha): a2 = alpha * alpha denom = np.pi * (n_dot_h * n_dot_h * (a2 - 1.0) + 1.0) ** 2 return a2 / np.maximum(denom, 1e-6) def schlick_fresnel(c_dot_v, f0): return f0 + (1.0 - f0) * np.power(np.clip(1.0 - c_dot_v, 0.0, 1.0), 5.0) def smith_geometry(n_dot_v, n_dot_l, k): g_v = n_dot_v / np.maximum(n_dot_v * (1.0 - k) + k, 1e-6) g_l = n_dot_l / np.maximum(n_dot_l * (1.0 - k) + k, 1e-6) return g_v * g_l def cook_torrance(n_dot_v, n_dot_l, n_dot_h, roughness, f0, base_color): alpha = roughness * roughness k = alpha * 0.5 d = ggx_ndf(n_dot_h, alpha) g = smith_geometry(n_dot_v, n_dot_l, k) f = schlick_fresnel(n_dot_h, f0) spec = d * g * f / np.maximum(4.0 * n_dot_v * n_dot_l, 1e-6) diff = base_color / np.pi * (1.0 - f0) return diff + spec if __name__ == "__main__": f0 = 0.04 base_color = np.array([0.6, 0.6, 0.6]) print("roughness | peak BRDF | mean BRDF") for roughness in [0.05, 0.2, 0.5, 1.0]: values = [] theta = np.linspace(0.01, np.pi / 2 - 0.01, 90) for angle in theta: n_dot_v = np.cos(angle) n_dot_l = n_dot_v n_dot_h = np.cos(angle / 2.0) brdf = cook_torrance(n_dot_v, n_dot_l, n_dot_h, roughness, f0, base_color) values.append(float(brdf.sum())) print(" %.2f | %.3f | %.3f" % (roughness, np.max(values), np.mean(values)))
def ggx_ndf(n_dot_h, alpha):GGX 法线分布函数,对应正文里的微表面镜片朝向统计。a2 = alpha * alpha把 roughness 平方成 \( \alpha \),这一步决定了高光过渡的柔和度。denom = np.pi * (n_dot_h * n_dot_h * (a2 - 1.0) + 1.0) ** 2GGX 分母,塑造“中间高两边低”的峰形。f = schlick_fresnel(n_dot_h, f0)菲涅尔项,模拟掠射角反射增强。spec = d * g * f / np.maximum(4.0 * n_dot_v * n_dot_l, 1e-6)Cook-Torrance 镜面项,分母做能量归一化。diff = base_color / np.pi * (1.0 - f0)Lambert 漫反射项,非金属的“嚼碎吐匀”通道。
常见误区
误区我觉得墙面不够亮,就把金属度从 0 拉到 1。结果表面变成一面彩色镜子,原本的木纹颜色全没了,看起来反而更暗更奇怪。
正解闪亮与否由 roughness 决定,金属度只决定“反射的是无色白光是带颜色的环境光”。金属 = 1 时漫反射关闭,如果 roughness 很大,金属表面一样暗淡;反过来,非金属把 roughness 调到极小也能像抛光的宝石一样亮。调亮应该先降 roughness,再考虑环境光强度。
为何常见:直觉上“金属 = 亮”,忽略了金属度升高会让固有色消失,把反射完全交给环境——环境一暗,金属就跟着暗。
误区在 Substance 里导出一套 baseColor、metallic、roughness,Unity HDRP 和 UE5 都能直接用,反正都是 PBR 标准。
正解两套引擎的贴图细节不同:UE5 用 Metallic/Roughness 工作流,Unity HDRP 兼容 Metallic 但历史项目常见 Glossiness(与 Roughness 反相);法线贴图的 Y 轴朝向也不同,直接拖会导致高光方向反转、材质发黑。
为何常见:PBR 标准看似统一,但引擎各有派生约定。小白容易把“标准”当成“同一套文件”,忽略了通道与色彩空间的适配层。
误区sRGB 和线性空间差别不大,输出前随手一关,画面还不是照样渲染?
正解光照计算必须在线性空间完成,最后再转回 sRGB 显示。如果贴图不转线性,暗部会被过度拉亮,明暗过渡失真;PBR 能量守恒也会被破坏,金属反射偏灰。HDRP 和 UE5 默认都在线性空间中运算,动这个开关等于打乱整套物理光照。
为何常见:屏幕天然显示 sRGB,人眼已经习惯非线性,初学者很难察觉“计算用的颜色”和“显示的颜色”是两套编码。
误区我觉得 IBL 环境光照是引擎现场把环境图卷积出来,每帧都实时更新,所以画面才那么自然。
正解环境图的卷积、预滤波、球谐编码都发生在离线烘焙或加载阶段,运行时只是做几次纹理采样。若每帧重新卷积环境贴图,GPU 会瞬间被拖垮。动态 IBL 也只是按帧率低频更新探针,并非逐帧全量重算。
为何常见:实时引擎的“实时”二字误导了小白,让人以为一切效果都是即时计算,忽略了预计算这种以空间换时间的关键工程手段。
误区贴了一张高精度法线贴图,墙面立刻有了砖缝和铆钉,那还要建模师加高模做什么?
正解法线贴图只改变光照计算的“假朝向”,轮廓、投影、自遮蔽仍然暴露平面本质。微表面理论中的几何遮蔽项 G 也需要真实凹凸参与——很斜的角度看法线贴图,砖缝会“摊平”失真。
为何常见:法线贴图在正面视角效果惊艳,容易让人忽略侧面和轮廓处的物理破绽,直到镜头一转才发现墙面其实是“一张纸”。
面试题
Q1. PBR 中文全称最准确的表述是?
- A.基于物理的渲染系统← 正确答案
- B.基于像素的渲染管线
- C.基于几何的着色模型
- D.基于光栅的快速绘图
答案:A。PBR 全称 Physically Based Rendering,即“基于物理的渲染”,强调用真实光学规律模拟光照。其他选项混淆了“像素”“几何”“光栅”等相邻概念,它们都不属于 PBR 的定义核心。
Q2. 当材质的 metalness = 1 时,以下哪种说法正确?
- A.材质必然呈现高亮炫光
- B.材质的漫反射通道被禁用← 正确答案
- C.材质的粗糙度必须调小
- D.材质只能反射环境贴图
答案:B。金属没有漫反射,光无法渗入内部散射,所以 baseColor 全部进入镜面反射。A 错在亮度由 roughness 决定;C 错在金属也可以粗糙;D 错在金属同样接收直接光,只是以镜面方式反射。
Q3. 粗糙度数值越小,高光表现通常是?
- A.高光斑越大越模糊
- B.反射图像越锐利清晰← 正确答案
- C.漫反射占比会提高
- D.表面颜色会变暗
答案:B。粗糙度小意味着微表面朝向一致,GGX 分布峰又尖又高,反射光集中在镜面方向,因此高光锐利、环境反射清晰。粗糙度不影响漫反射占比,那是金属度的职责。
Q4. GGX 法线分布函数中,alpha = roughness² 的主要作用是?
- A.控制微法线的分布锥宽度← 正确答案
- B.控制菲涅尔反射的强度
- C.决定环境贴图的采样层
- D.调整光源的衰减速度
答案:A。GGX 的 D(h) 用 alpha 塑造分布峰:alpha 小峰高而窄,angle 大峰矮而宽,即“分布锥宽度”。菲涅尔由 F0 控制,环境贴图采样层由 mip_level 控制,都与 alpha 的分布职能无关。
Q5. 非金属材质在垂直入射时的反射率 F0 约为?
- A.反射率约为 1.0
- B.反射率约为 0.5
- C.反射率约为 0.04← 正确答案
- D.反射率约为 0.82
答案:C。Fresnel-Schlick 中非金属的 F0 固定约 0.04,即只有 4% 的光被直接反射,其余进入漫反射通道。金属的 F0 才取 baseColor 的有色值,所以 A、D 是金属量级,B 是常见错觉值。
Q6. IBL 镜面反射的预计算结果通常存储在哪里?
- A.保存在环境贴图分级 mipmap← 正确答案
- B.存储在颜色查找表纹理中
- C.放在顶点缓冲区的布局里
- D.记录进深度模板缓冲区内
答案:A。IBL 把不同粗糙度对应的 BRDF 卷积结果存成环境贴图的 mipmap 各级,运行时按 roughness 采样对应层级。查找表用于 BRDF LUT,深度缓冲管遮挡,顶点缓冲区存几何,都与环境卷积无关。
Q7. UE5 中负责实时全局光照的主要方案是?
- A.屏幕空间反射 SSR
- B.Lumen 实时全局光照← 正确答案
- C.屏幕空间环境光遮蔽
- D.多重采样抗锯齿技术
答案:B。Lumen 是 UE5 主推的实时全局光照方案,用软件光追和屏幕空间信息实现动态间接光照。SSR 只做屏幕内反射,SSAO 只做环境光遮蔽,MSAA 是抗锯齿,功不同。
Q8. Cook-Torrance BRDF 的镜面反射项包含哪些部分?
- A.表面法线分布函数 D← 正确答案
- B.几何自遮蔽项 G← 正确答案
- C.菲涅尔反射项 F← 正确答案
- D.环境光遮蔽贴图 AO
答案:ABC。镜面项公式为 FDG 除以归一化分母,D 描述微法线朝向分布,G 描述凹凸互相遮挡,F 描述掠射角反射增强。AO 属于环境光的低频遮蔽,不在 Cook-Torrance 镜面项内。
Q9. 下列哪些属于 PBR 材质工作流中的常见贴图?
- A.反照率与基础颜色贴图← 正确答案
- B.金属度灰度权重贴图← 正确答案
- C.粗糙度灰度权重贴图← 正确答案
- D.帧率采样测试目标贴图
答案:ABC。金属度/粗糙度工作流三件套就是 baseColor、metallic、roughness,分别负责固有色、金属/非金属分类、高光散开程度。帧率测试贴图属于性能分析工具,不是材质贴图。
Q10. 关于 PBR 材质调优,下列说法正确的有?
- A.先调粗糙度再调金属度顺序无所谓
- B.非金属材质的金属度应设接近 0← 正确答案
- C.线性空间影响光照计算的正确性← 正确答案
- D.粗糙度会直接改变漫反射颜色
答案:BC。调优应先定金属度再调粗糙度,因为金属度决定漫反射是否开启;非金属 F0 约 0.04,漫反射主导,所以金属度应接近 0;光照计算必须在线性空间进行。粗糙度只影响镜面高光的散开程度,不改变漫反射颜色。