给我详细讲讲blender中从高模烘焙到低模的详细步骤和注意事项

in STEEM CN/中文7 months ago

好的,没问题!这是一个非常核心且重要的流程,很多3D艺术家,特别是游戏和动画领域的,都会频繁使用。我会用最通俗易懂的方式,从PBR的基础概念讲起,然后带你走完整个烘焙流程,并解答你所有的疑问。

第一部分:什么是PBR材质?(通俗版)

想象一下,你手里有一块真实的“数字黏土”,你想用它来模拟世界上任何物体的表面质感。PBR(Physically Based Rendering,基于物理的渲染)就是一套“规则手册”,告诉你如何调配这块黏土,才能让它在虚拟灯光下看起来和真实世界一模一样。
它不追求“画”得像,而是追求“模拟”得像。这套规则主要基于几个核心属性:

  1. 基础色 / 漫反射
    • 是什么: 物体本身固有的颜色,不受任何光影影响。就像一张白纸在完全黑暗的房间里,它本身依然是“白色”的。
    • 通俗理解: “油漆的颜色”。一个红苹果,它的基础色就是红色。注意,这个颜色里不应该有高光、阴影或环境反射的信息。
  2. 金属度
    • 是什么: 决定这个物体是金属还是非金属。在PBR里,它通常是一个非0即1的开关。
    • 通俗理解: “是不是金属做的?”。
      • 金属 (Metallic = 1): 像铁、黄金、铜。它们不显示自身颜色,而是像镜子一样反射周围环境,并且反射的颜色会被金属自身“染色”(比如黄金反射的是黄色的光)。
      • 非金属 (Metallic = 0): 像塑料、木头、皮肤、石头。它们显示的是自己的“基础色”,反射很弱。
  3. 粗糙度
    • 是什么: 描述物体表面的光滑程度。这是控制反射清晰度的关键。
    • 通俗理解: “镜子还是砂纸?”。
      • 光滑 (Roughness = 0): 像镜子或抛光过的金属。反射非常清晰,能照出景物。
      • 粗糙 (Roughness = 1): 像粉笔或轮胎。反射非常模糊,几乎看不出倒影,光线会向四面八方散射。
    • 大部分物体介于两者之间,比如一个有点磨损的塑料桌面。
  4. 法线贴图
    • 是什么: 这是个“欺骗”光照的贴图。它不改变模型的形状,只在模型表面模拟出凹凸不平的细节。
    • 通俗理解: 在一张光滑的塑料纸上,用笔画出砖块的缝隙。当光照上去时,光线会“以为”那里真的有缝隙,从而产生逼真的阴影和高光,让这张平面的纸看起来像一堵砖墙。
      PBR的目标: 只要你按照这套规则提供了准确的贴图(基础色、金属度、粗糙度等),你的模型在任何光照环境下(白天、夜晚、室内、室外)都会表现出符合物理规律的、可信的视觉效果。

第二部分:从高模烘焙到低模的详细步骤

核心思想: 我们先创建一个拥有数百万甚至上千万面数的“高精度模型”(高模),它包含了所有精美的细节(如皮肤毛孔、衣服褶皱、划痕)。然后,我们创建一个只有几千面数的“低精度模型”(低模),它形状和高模基本一致,但非常“光滑”。烘焙,就是将高模的细节信息“拍照”并“印”在低模的UV贴图上,从而让低模在视觉上拥有高模的细节,但性能开销却极低。

阶段一:准备工作(至关重要!)

  1. 准备高模 和低模
    • 高模: 你的最终雕刻/细化模型。确保所有修改器(如细分)都已应用。
    • 低模: 拓扑优化后的模型。它的轮廓应该尽可能地包裹住高模。
    • 命名规范: 给它们清晰的命名,例如 rock_highrock_low
  2. 完美对齐
    • 将低模和高模在三维空间中完美重叠。最简单的方法是,先选中低模,Shift + D 复制一份,然后在新复制的模型上进行雕刻细化得到高模。这样它们天生就是对齐的。
    • 如果是分开制作的,请确保它们的中心点和位置完全一致。
  3. 展开低模的UV
    • 只展开低模的UV! 高模不需要UV(除非你要做其他特殊用途)。
    • UV必须无重叠,并且尽量减少拉伸和变形。
    • 将所有UV岛都放在 0-1 的UV方框内。
    • 为了最大化利用贴图空间,可以合理地排列UV岛,但岛与岛之间要留出足够的间距,这在烘焙时可以避免像素“渗漏”。

阶段二:烘焙设置

  1. 选择顺序
    • 在物体模式下,先选中低模,然后按住 Shift 再选中高模这个顺序绝对不能错! 最后选中的是“活动物体”。
  2. 进入烘焙面板
    • 切换到 属性编辑器(右侧扳手图标)。
    • 找到 材质属性(红色球体图标),为低模创建一个新材质。
    • 在下方找到 烘焙 面板。
  3. 核心设置
    • 渲染引擎: 强烈推荐使用 Cycles。它的烘焙结果更准确,虽然比Eevee慢。
    • 烘焙类型: 在这里选择你要烘焙的贴图类型(如法线、漫反射等)。
    • 选中到活动: 这是最重要的选项! 必须勾选。它告诉Blender:“把最后选中的那个物体(高模)的信息,烘焙到第一个选中的那个物体(低模)上。”
    • 笼 / 挤出:
      • 挤出: 一个简单的距离值,控制从低模表面发射“射线”去探测高模的距离。如果烘焙出现错误(比如细节丢失或错位),可以尝试增大这个值。
      • 笼: 更高级的控制。你可以创建一个介于高模和低模之间的“笼子”模型来精确控制射线的方向。对于初学者,先只用“挤出”即可。
    • 边距: 设置一个像素值(比如4-8像素)。这会在UV岛的边缘留出一点缓冲,防止烘焙时颜色/细节“溢出”到相邻的UV岛上,避免出现黑边或接缝问题。

阶段三:烘焙各种贴图(实战操作)

在开始烘焙每种贴图前,你都需要为低模的材质添加一个 图像纹理节点,并新建一张空白图像。

  1. 烘焙法线贴图
    • 目的: 捕捉高模的表面凹凸细节。
    • 高模准备: 无需特殊材质设置,只要模型细节在就行。
    • 低模准备:
      • 在低模的材质节点中,添加一个 图像纹理节点,新建一张图像(例如 Normal.png),确保颜色空间设置为 非线性
      • 将这个图像纹理节点连接到一个 法线贴图节点 的“颜色”输入口。
      • 将法线贴图节点的“法线”输出口连接到 原理化BSDF 的“法线”输入口。
    • 烘焙设置:
      • 烘焙类型: 选择 法线
      • 空间: 选择 切线。这是游戏引擎和大多数软件的标准。
      • 点击 烘焙 按钮。
  2. 烘焙漫反射/基础色贴图
    • 目的: 捕捉高模固有的、干净的、无光影的颜色信息。
    • 【关键问题解答】烘焙时要把金属度等调成0吗?
      • 是的,绝对要! 这是非常重要的一步。
      • 原因: 漫反射贴图(在PBR中更准确地叫Albedo/Base Color贴图)应该只包含物体自身的颜色信息,不能包含任何光照、阴影、高光或金属反射信息。如果高模的金属度不为0,那么烘焙出来的颜色就会被金属反射的环境色“污染”,导致颜色不纯,后续无法正确调节。
    • 高模准备:
      • 给高模一个简单的材质。
      • 原理化BSDF节点中:
        • 基础色: 设置为你想要的物体颜色或颜色纹理。
        • 金属度: 设置为 0
        • 粗糙度: 设置为 0.5 (一个中性值,避免过亮或过暗的阴影影响)。
        • 高光: 保持默认值。
    • 低模准备:
      • 添加一个 图像纹理节点,新建一张图像(例如 BaseColor.png),颜色空间设置为 sRGB
      • 将它连接到原理化BSDF的“基础色”输入口。
    • 烘焙设置:
      • 烘焙类型: 选择 漫反射
      • 在下方 贡献 中,你可以只勾选 颜色,这样可以确保只烘焙纯粹的颜色,而忽略其他光照信息。
      • 点击 烘焙
  3. 烘焙粗糙度贴图
    • 目的: 捕捉高模表面的光滑/粗糙细节。
    • 高模准备:
      • 在高模的材质中,调整 粗糙度 滑块或连接一个粗糙度纹理,来创建你想要的细节(比如金属部分光滑,锈迹部分粗糙)。
    • 低模准备:
      • 添加一个 图像纹理节点,新建一张图像(例如 Roughness.png),颜色空间必须设置为 非颜色
      • 将它连接到原理化BSDF的“粗糙度”输入口。
    • 烘焙设置:
      • 烘焙类型: 选择 粗糙度
      • 点击 烘焙
  4. 烘焙金属度贴图
    • 目的: 定义哪些部分是金属,哪些不是。
    • 高模准备:
      • 在高模材质中,用黑白值(或纹理)来控制 金属度。白色(1)代表金属,黑色(0)代表非金属。避免使用灰色值。
    • 低模准备:
      • 添加一个 图像纹理节点,新建一张图像(例如 Metallic.png),颜色空间必须设置为 非颜色
      • 将它连接到原理化BSDF的“金属度”输入口。
    • 烘焙设置:
      • 烘焙类型: 选择 金属度
      • 点击 烘焙
  5. 烘焙其他贴图(可选)
    • 环境光遮蔽 (AO):
      • 烘焙类型: 选择 环境光遮蔽
      • 用途: AO不是主要光源,它是一个增强细节的“阴影”贴图,可以模拟物体缝隙和角落里不易被光照到的效果。在最终材质里,它通常会与基础色贴图或粗糙度贴图进行正片叠底 混合,来增加立体感。
      • 颜色空间: 非颜色。
    • 曲率:
      • 烘焙类型: 选择 曲率
      • 用途: 生成一张描绘模型凸起和凹陷区域的贴图,常用于制作边缘磨损效果(比如在物体边缘添加灰尘或高光)。

第三部分:常见问题与注意事项

  1. 烘焙结果有接缝/黑边
    • 原因: UV岛间距太小,或边距 设置过低。
    • 解决: 增加烘焙时的边距值(比如设为8或16),或者在UV编辑器中手动拉开UV岛之间的距离。
  2. 烘焙的细节错位或丢失
    • 原因: 低模和高模没有对齐,或者“挤出”距离不合适。
    • 解决: 检查模型位置,确保中心点对齐。尝试调整“挤出”值,从小到大试试。如果低模在某些地方“凹”进去太多,射线可能探测不到高模。
  3. 烘焙结果很模糊
    • 原因: 新建的图像分辨率太低。
    • 解决: 烘焙前新建图像时,选择足够高的分辨率(如2048x2048或4096x4096)。
  4. 烘焙结果有噪点
    • 原因: Cycles的采样太低。
    • 解决:渲染属性 面板中,增加 Cycles最大采样数(比如设为128或更高)。
  5. 低模的背面被错误地烘焙了
    • 原因: 射线从错误的方向探测。
    • 解决: 在低模的 物体数据属性(绿色三角图标)中,找到 法线 选项,点击 重新计算外侧
      总结一下烘焙流程:
  6. 准备: 对齐好的高模和低模,低模UV完美展开。
  7. 选择: 先选低模,再选高模。
  8. 设置: 勾选“选中到活动”,设置好边距。
  9. 烘焙: 为每种贴图(法线、颜色、粗糙度等)分别准备好高模材质和低模的图像节点,然后选择对应的烘焙类型,点击烘焙。
  10. 检查: 查看烘焙结果,根据问题进行调试。
    这个过程虽然步骤多,但一旦理解了其背后的逻辑,就会变得非常直观。多练习几次,你就能熟练掌握这个强大的技术了!祝你烘焙顺利!
Sort:  

Upvoted! Thank you for supporting witness @jswit.

Coin Marketplace

STEEM 0.05
TRX 0.32
JST 0.083
BTC 62530.78
ETH 1673.29
USDT 1.00
SBD 0.42