纹理烘焙

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了纹理烘焙相关的知识,希望对你有一定的参考价值。

1“烘焙”通常指的是记录记载图像的过程,表示模型的材质或网格特征的某些方面。比起图像纹理,某些特定类型的Material参数可能需要更长的时间来计算并应用于模型,因此它可以节省渲染时间。烘烤通常在材质或网格最终确定后完成。
2烘焙,一般地讲,是为了加速后续的其他过程进行的预先计算。根据你所选择的选项不同,从头进行渲染可能将花费大量的时间。因此,Blender允许你为选择的物体提前 “烘焙” 渲染的一些部分。然后,当你点击渲染,整个场景的渲染将会更快,因为这些物体的颜色不需要重新计算。
渲染烘焙创建一个网格物体渲染的表面的 2D 位图图片。这些图片会被使用物体的 UV 坐标重新映射到物体上。烘焙是对每个独立网格完成的,而且仅当网格已经被UV展开的情况下完成的。虽然配置和运行会花费时间,但是这将节省渲染时间。如果你要渲染一个很长的动画,花费在烘焙上的时间要大大少于花费在渲染长动画每一帧上的时间。
在强光/阴影方案中使用渲染烘焙,例如 AO 或 区域灯光的柔和阴影。如果你为主物体烘焙 AO,你将无须为完全渲染启动它,节省了渲染时间。
优势

可以显著减少渲染时间。
纹理绘图变得更简单。
减少了多边形数量。
重复渲染变得更快,成倍减少时间。
劣势

物体必须是UV展开的。
如果阴影被烘焙了,灯光和物体互相之间不能移动。
大的文件(比如,4096 x 4096)会是内存密集的,会像渲染一样慢。
人 (人工)时间必须花在展开,烘焙和保存文件并应用纹理到一个通道上。
a纹理烘焙是将细节从一个模型转移到另一个模型的过程。

b纹理烘焙是旨在生成纹理贴图库的任何过程,其描述场景中3D模型的表面的不同特性(材质,纹理,颜色,光照,阴影,反射等)。这些信息被存储起来并与描述3D模型的信息相关联。此过程(也称为渲染到纹理)预计算渲染的效果,以生成在2D(uv)参考系统中表示并与网格顶点关联的位图图像。 使用这种技术,没有必要对模型的每个运动进行相关的渲染计算,因为通过将映射与(uv)空间中的对象的表面相关联来确保实际结果。 因此,该过程特别适用于需要实时3D空间导航的应用,即在输入和系统响应之间没有延迟的情况下进行感知。

c纹理烘焙是一个存储光照信息到纹理中的方式。一般来说,烘焙的对象可以包括光照信息,法线信息,遮挡信息等。在最后预览的阶段,我们只需要从物体的光照图(lightmap)中取出相应的信息,呈现在屏幕上既可。
例如,在纹理烘焙中,原始的程序纹理可以被记录为图像。有时,材质的各种“通道”可以合并为单个图像,从而简化了所使用的纹理图像的数量。在“纹理绘制”模式中应用的材质颜色可以保存到图像中。在法线烘焙中,可以记录网格法线(其影响光如何从模型的表面反射)
4纹理烘烤
烘焙可能意味着您计算指定数据,并将其保存到纹理中,然后在材质中使用。烘焙的目的是节省渲染时间,因为Blender会重新计算所有阴影,光照以及不是每一帧的内容,这会导致长时间动画浪费大量时间。

物理烘焙
烘焙还可以指预先计算物理模拟,如布料或刚体。 为此,Blender将它们保存到文件中,然后在渲染或回放动画时加载该文件,以便不必每次都重新计算物理。

以上是关于纹理烘焙的主要内容,如果未能解决你的问题,请参考以下文章

纹理烘焙

Unity5中的软阴影烘焙

即使 UV-Mapping 非常适合,Blender 纹理在反复烘烤后也无法正确显示

UE4 体积纹理(volume texture)自定义并通过蓝图实现

尝试使用 SceneKit 烘焙光照贴图时出错

[OpenGL] 使用计算着色器进行预烘焙