先留下证据,再接受教学
第一步不是答对,是看见自己现在怎么想
先别看答案:如果 Metallic 从 0 调到 1,Base Color 到底去了哪里?普通煤块又该放在哪一边?
这不是考试,也不计时。写错、写一半或写「不知道」都有效;系统只保存学习行为,不会把完成操作冒充“已经掌握”。
原始证据 · 不覆盖
你刚才真正能从脑中拿出来的内容
修复误区 · 可以看教学
不要再抄一遍答案,先找出断掉的连接
1 · 先找出两个误区选择题,不需要打字
2 · 再连成一条因果链实验后再做
3 · 最后遮住答案再说一遍追加新版本,不覆盖原答
延迟提取 · 防止“当场感觉会了”
复习到点,只看原题,不先看本页答案
“已安排”只代表日程存在;只有到期后追加一次闭卷回答,才会显示“已留下复述”。它仍不等于答案正确。
教学答案 · 首次回答锁定后再看 也允许跳过裸跑;系统会如实记录答案提前暴露
你可以直接这样回答
Metallic 不是亮度开关,而是能量分流。金属度为 1 时,Albedo 主要作为有色反射的基础色,漫反射权重接近零;颜色暗不代表材质就是金属。字面纯黑的 Albedo 在线性空间是 0,但真实煤炭通常是低反射的介电质,不能只凭“黑”把 Metallic 设成 1。
这道题真正想听什么?
先确认比较对象和回答边界,再决定要不要展开公式、工程实现或性能取舍。
这道题检查你能否把“颜色”与“材质身份”分开。Albedo 是没有直接光照时的基础反射颜色,Metallic 更像能量路径开关:介电质保留漫反射,金属把基础颜色更多带进镜面反射,漫反射权重被压低。它不表示“金属更亮”。
把答案讲到 2 分钟面试必答 · 约 2 分钟 · 补足因果、输入和取舍
我会用 F0 = mix(0.04, baseColor, metallic) 和 kD = (1-F)*(1-metallic) 解释:第一式决定正面反射起点,第二式防止能量重复分配。实际验证时固定灯光,只切换 metallic,分别看高光颜色、漫反射、F0 和 kD。还要确认纹理以正确颜色空间采样,否则黑色阈值会被误读。
面试官可能继续追问什么?补充自测 · 约 3 分钟 · 检查自己是不是真的懂了
- 问:Metallic=1 时 Albedo 要不要删掉? 答:不删。它会成为金属反射颜色的主要来源;只是不能再把它当成漫反射底色看。
- 问:纯黑是不是“金属度也设 1”? 答:不是。颜色暗和材质是金属是两件事;煤炭的黑来自低反射率,身份仍可为介电质。
- 因果链: 纹理采样 → 颜色空间解码 →
F0/kD分流 → 直接光照。若在 sRGB 与 linear 之间混算,黑色/灰色阈值的视觉判断会错位。
如果概念还是悬空,就去做实验关键证据 · 约 5–15 分钟 · 预测 → 单变量 → 观察
实验不是第二份答案,它只负责证明答案
如果上面的解释已经听懂,可以直接跳过。卡住时,再沿着这三步把抽象词变成画面证据。
- 先猜 如果把这个模型或规则关掉,画面里哪一处应该先变?为什么?
- 去取证 固定其他条件,只改一个参数。先写下变化,不用“更真实”“更高级”这种空词代替证据。
- 再追问为什么 是哪一步造成这个结果?如果结果相反,先检查输入、空间、算法,还是显示输出?
我完全没头绪,给我一个起点
先截下默认状态,只动页面当前开放的那个参数。你只需要说清楚“原来怎样 → 改了什么 → 现在怎样”。
1. 先预测
在 PBR Lab 固定 roughness=0.38、lightIntensity=5,只拖 metallic 从 0 到 1,基础颜色保持橙棕色。预测:从塑料变成金属时,高光会带颜色,漫反射底色会退场。把 baseColor 换成接近黑色,再切到 F0/kD 证据通道,像把同一桶颜料分别倒入“漫反射盒”和“反射盒”。
公式的口语翻译:
F0 = mix(0.04, baseColor, metallic)
kD = (1 - F) * (1 - metallic)
第一行是在说“正面看时,介电质从约 4% 反射起步,金属则让 base color 染进反射”;第二行是在说“镜面已经拿走的能量,不能再给漫反射重复使用”。这是分流阀,不是亮度旋钮。
如果题目中的“纯黑煤炭”是字面上的纯黑,线性空间 Albedo 就是 0(sRGB 的 #000000 也对应线性 0)。但真实煤炭不是完美吸光体,且煤炭通常是介电质,Metallic 应接近 0;生产纹理应测量或约定一个很低但非零的反射率,而不是把煤炭误标成金属。
老师追问
先别急着查答案: 先把术语还原成一个可观察的现象:哪个中间量会变化,哪个结果只是表面现象?
为什么: 你刚才的预测依赖哪个前提?如果把“Metallic 与 Albedo”里最关键的变量或约束关掉,画面/输出会先坏在哪里?
如果结果相反: 先排除哪一层,再谈结论?这个规则的边界是什么?
2. 再动手
在 PBR 代码页 做三组对照:A 为 metallic=0 的棕色介电质,B 为 metallic=1 的同色金属,C 为 metallic=0、baseColor=#000000 的字面纯黑。固定 lightIntensity,记录 fresnel-f0、brdf-energy 和最终颜色;不要同时改曝光。
3. 最后对证据
A 的颜色主要铺在漫反射,B 的高光会染成基础颜色,C 在直接光下几乎没有可见反射。切换 metallic 时,如果只是整体亮度变化而高光颜色不变,先检查是否仍在错误的颜色空间或把 baseColor 直接乘到最终颜色。证据卡的 kD 应随金属度下降,而不是被光强盖住。
答案在代码哪里发生?实现定位 · 约 3 分钟 · 变量、函数和关键行
- PBR compose:查看
f0、kS、kD和 diffuse/specular 合成。 - Fresnel:确认金属基础颜色进入反射,而不是被额外加到漫反射。
/lab/pbr/的baseColor、metallic、roughness、lightIntensity与debugMode是本题的单变量控制。
完整 5 分钟版本面试扩展 · 约 5 分钟 · 项目边界、验证与降级
资产规范上我会让金属度贴图尽量接近 0/1,边界只在真实混合材质处出现;Albedo 记录材质反射颜色,不承担曝光补偿。若做煤炭,先确定题目要“字面纯黑”还是“可读的真实煤炭”,把假设写进验收表。低端设备可以简化 BRDF,但保留金属/介电的能量路径;当前 Lab 的数值是教学证据,不替代目标平台的色彩管理测试。
哪些说法最容易答歪?必看陷阱 · 约 1 分钟 · 面试前最后检查
- 把
Metallic=1当成“把颜色删掉”;金属仍需要 Albedo 来染色反射。 - 把纯黑煤炭写成金属,混淆颜色与材质身份。
- 用 sRGB 直读值参与线性光照,导致黑色和中灰的能量错误。
- 用
lightIntensity补偿错误的kD;先保持灯光基线,再读F0/kD。