渲染烘焙

参考

面板:渲染 ‣ 烘培

Baking, in general, is the act of pre-computing something in order to speed up some other process later down the line. Rendering from scratch takes a lot of time depending on the options you choose. Therefore, Blender allows you to "bake" some parts of the render ahead of time, for select objects. Then, when you press Render, the entire scene is rendered much faster, since the colors of those objects do not have to be recomputed.

Render baking creates 2D bitmap images of a mesh object's rendered surface. These images can be re-mapped onto the object using the object's UV coordinates. Baking is done for each individual mesh, and can only be done if that mesh has been UV-unwrapped. While it takes time to set up and perform, it saves render time. If you are rendering a long animation, the time spent baking can be much less than time spent rendering out each frame of a long animation.

Use Render Bake in intensive light/shadow solutions, such as AO or soft shadows from area lights. If you bake AO for the main objects, you will not have to enable it for the full render, saving render time.

Use Full Render or Textures to create an image texture; baked procedural textures can be used as a starting point for further texture painting. Use Normals to make a low resolution mesh look like a high resolution mesh. To do that, UV unwrap a high resolution, finely sculpted mesh and bake its normals. Save that normal map, and Mapping (texture settings) the UV of a similarly unwrapped low resolution mesh. The low resolution mesh will look just like the high resolution, but will have much fewer faces/polygons.

Advantages

  • Can significantly reduce render times.
  • Texture painting made easier.
  • Reduced polygon count.
  • Repeated renders are made faster, multiplying the time savings.

Disadvantages

  • Object must be UV-unwrapped.
  • If shadows are baked, lights and object cannot move with respect to each other.
  • Large textures (e.g. 4096×4096) can be memory intensive, and be just as slow as the rendered solution.
  • Human (labor) time must be spent unwrapping and baking and saving files and applying the textures to a channel.

在Cycles中使用渲染设置(采样、反弹、……)进行烘焙。因此烘焙纹理的品质将会和场景的渲染一致。

烘焙发生在物体材质的各自活动纹理上。活动纹理是指材质节点中最后选择的图像纹理。这意味着活动的物体必须要有一个材质(或是选择的物体,当不烘焙时“所选物体->活动物体”),而且材质中至少要有一个图像纹理节点,以用于烘焙图像。需要注意的是,该节点无需连接到其他的节点。活动的纹理只是做为一个常规的图像使用,好投射绘制以及查看预览。以此以来,烘焙完成后,你就可以在纹理模式下直接预览到烘焙的结果。

选项

../../_images/render_cycles_baking_ao.png

环境光遮蔽通道。

烘焙模式

合成结果

烘焙SSS之外的所有材质、纹理和灯光,特殊效果。

../../_images/render_cycles_baking_combined.png

组合通道选项。

通过相应组合可以单独切换以形成最终地图。

环境光遮蔽

烘焙世界面板中指定的环境光遮蔽,忽略场景中的其他灯光。

../../_images/render_blender-render_bake_ambient-occlusion.png

Ambient Occlusion.

阴影
烘焙阴影及灯光。
法线

烘焙不同空间的法线。

../../_images/render_cycles_baking_normal.png

法线通道设置。

法线空间

法线可以在不同的空间中烘培:

对象空间
对象坐标中的法线,与对象变换无关,但取决于变形。
切线空间
切线空间坐标中的法线,与对象转换和变形无关。这是默认设置,在大多数情况下都是正确的选择,因为法线贴图也可以用于动画对象。
Swizzle
轴要烘培成红色,绿色和蓝色的通道。
../../_images/render_blender-render_bake_normals.png

Normals.

在材质中你也可以选择相同的空间坐标,也就是图像纹理选项中,法线映射设置的下面。为了得到的正确的结果,这里的设置应该和烘焙中的设置相同。

UV
仅烘焙材质的颜色和纹理,不含有着色信息。
自发光
烘焙自发光,或是材质的辉光颜色。
环境光
烘焙从物体中心所观察到的环境。
漫射,光泽,传递,表面细分

烘培材质的漫射,光泽,传递和表面细分的通道。

../../_images/render_cycles_baking_diffuse.png

漫射传递选项。

  • 如果只选择了颜色,则将获得颜色通道,该颜色是曲面的属性,与采样细化无关。
  • 如果未选择颜色,则会以灰度方式获得直接或间接贡献。
  • 如果选择了颜色和直接或间接的颜色,则可以获得直接和或间接贡献的颜色。

附加选项

边距
烘焙的结果将会超出每一个UV块的边界,以此来柔和纹理中的接缝。
清空
选择该项时,在渲染烘焙前会先清空图像。
所选物体>主控物体
烘焙所选物体的着色到活动物体。光线会从外面的低模物体投射到内部的高模物体。倘若高模物体没能被低模物体完全包裹,你可以通过调节光线距离或是罩体挤出(取决于你是否使用罩体)来调节光线的起点。对于更多的控制,你可以通过指定罩体物体来实现。

Note

内存用量

每一个用于烘培的物体都会占用一定的CPU和内存,为了避免内存不足而造成的崩溃,在烘焙之前,可以先将高模物体进行合并。渲染中的分块设置,也会影响到内存的使用。比如分的块越大,CPU占用的越少,而内存则会占用的更多(不管是CPU,还是GPU)。

罩体
光线会从罩体投射到活动的物体,罩体是指从低模通过手动(指定要用的物体)或自动(调整光线距离)创建出来的膨胀版本。如果不使用罩体,光线会依循网格的法线,这在边线的地方会产生一些小的瑕疵,为了避免这些瑕疵,可以围着边线添加额外的循环边,在烘焙平面时,这或许是一个不错的方法。
光线距离
在使用所选物体>活动物体时,控制光线向内投射的距离。该项仅在不使用罩体时可用。
罩体偏移
在使用 所选物体->活动物体 时,控制光线向内投射的距离。向内投射的光线会由不含有边线分割修改器版本的活动物体发出。当然强制分割(如应用掉边线分割修改器)也不行。因为这些都会导致边线处的法线变得不为平滑。
罩体

指定作为 罩体 的物体,以此替代活动物体的罩体挤出。

Note

当挤出低模不能获得良好的结果时,你可以创建一个低模的副本,并将其做成 罩体 。而且两者要有相同的 拓扑 才行(相同的面数和面顺序)。