dag4blend Texture Baker
概述
该工具旨在将“重”材质转换为单个低分辨率的rendinst_simple材质,适合在最后一个 LOD(细节级别)上使用。
它还可用于将资产移植到移动项目。
从版本 2.2.0 开始,烘焙师还支持重新烘焙 Blender 的 Principled BSDF,从而能够通过 GLB/glTF 和纹理转换从其他软件传输带有纹理的资产,以及直接在 Blender 中“混合”材质。
在哪里找到它
Bake 面板位于 Dagor 选项卡下的 N 面板中。为确保烘焙过程正常运行,您需要在 Blender 的Edit > Preferences 设置中指定渲染设备。但是,此参数是为任何渲染设置的,因此它可能已经配置。
Settings
在这里,即将到来的烘焙的各种参数被组织成组。
Renderer
您可以选择执行烘焙的设备 (CPU 或 GPU) 并设置样本数。建议从一个样本开始,仅在烘焙出现 “嘈杂” 时才增加该值。
Inputs
在这里,您可以选择烘焙模式 - 从对象到自身或从一个对象到另一个对象。根据模式的不同,参数可能略有不同。
Asset: 包含要烘焙的资源的集合。当模式切换时,它将被转换为 Lowpoly。
Highpoly: 包含将从中执行烘焙的资源的集合。这仅在第二种模式中相关,因此在第一种模式中是隐藏的。
Recursive复选框确定是否检查子集合。如果为 War Thunder 烘焙一个由一个基地和几个
_dp组成的房屋,最好将它们的集合放在父集合中并激活此参数。
Important
以下参数仅在从一个对象烘焙到另一个对象时相关,而不是从 UV 到 UV 时相关。
Use Cage: 是否使用笼子进行烘烤。此选项仅在从对象烘焙到对象时相关,因此在第一种模式下是隐藏的。
Extrusion: 定义高多边形的搜索区域将沿法线“膨胀”的程度。如果启用了 Use Cage 复选框且未指定自定义框架,则低多边形节点本身将用作框架,均匀膨胀,而不考虑锋利的边缘。如果未启用该复选框,则膨胀将考虑锐边。
Max Ray Distance: 指定距框架(向内)的距离以搜索烘焙信息。如果设置为 0,则光线不受限制。
Active Node
此选项卡仅存在于 HP to LP 模式下,并允许对 Lowpoly 节点进行详细设置。它显示活动对象的参数。
Cage: 如果 Use Cage 复选框处于活动状态,则可以在此处指定自定义框架。按 Init Custom Cage 创建参数引用,然后选择所需的节点。这可以通过单击参数、使用 Viewport 或 Outliner 中的吸管,或者简单地从 Outliner 中拖动节点来完成。您可以通过按 垃圾桶 图标来完全删除参数,或者使用 X 重置它并选择其他节点。如果所选节点与烘焙对象的拓扑不匹配,则烘焙将失败并显示错误。
Important
请勿将笼子放在 Lowpoly 或 Highpoly 系列中。
Highpoly允许您指定应从中捕获活动节点信息的节点。如果未指定任何内容,则将从每个 Highpoly 节点按顺序执行烘焙,这可能需要大量时间。最好只指定相关来源。为此,请单击 ADD 并选择源,类似于选择笼子的方式。 可以选择多个源。
Outputs
此部分允许您定义要作为输出获取的内容。
tex_d, tex_n: 用于选择相应纹理的复选框。 如果两者都未启用,则烘焙将不会启动,因为没有要烘焙的内容。
Width and Height: 输出纹理的 rex 分辨率。限制为 2 的幂。
If the Reveal Result 复选框,则插件将在成功烘焙后打开包含输出文件的目录。
Tex Dirpath: 保存纹理的位置。您可以以文本形式输入路径,也可以通过 Blender 的内置文件浏览器单击右侧的文件夹图标来选择它。
open texture folder: 使用作系统的文件资源管理器打开指定的目录。
如果启用了 Save Proxymat 复选框,则 Baker 还将从新纹理创建新的
rendinst_simple代理材质。如果目录中缺少其中一个纹理(例如,如果仅烘焙了 tex_d),则该过程将被相应的日志条目中断。保存路径的设置方式与纹理相同。
该插件还可以在烘焙后立即分配生成的 proxymat。在这种情况下,将删除不必要的 UV 和材质,并且 Bake UV 通道将重命名为 UVMap,插件希望正确显示。
如果您需要将结果导出为 render instance,这将节省时间。如果 Viewport 结果不令人满意并且需要重新烘焙,则可以使用 Ctrl+Z 撤消 proxymat 的分配和信息的删除。
See also
有关更多信息,请参阅 Proxymats.
Operators
Convert Principled BSDF: 顾名思义,这会转换 Blender 的标准着色器,允许将其烘焙为 rendinst_simple. 当材质直接在 Blender 中混合时,或者当从另一个程序的 GLB/glTF 导入资产以及纹理时,这很有用。
Cleanup geometry: 从源几何体中删除不支持的着色器多边形。您如何知道着色器是否受支持?在 Shader Editor 中,材质的 Shader 节点应该有
_tex_d_rgb,_tex_d_alpha,_tex_met_gloss, 和_tex_mask的输出。此功能主要针对无法烘焙的贴花而设计。Blender 无法通过透明多边形进行烘焙;顶部多边形将完全覆盖其下方的信息。如果几何体上存在对烘焙很重要的不受支持的着色器,则可以将其重新分配给类似的着色器。例如,不支持的 rendinst_mask_layered 可以替换为 rendinst_perlin_layered。
这不必手动完成。在已安装的附加组件的目录中,有一个带有 remap 参数的文本文件:
C:\Users\<username>\AppData\Roaming\Blender Foundation\Blender\<version number>\scripts\addons\dag4blend\extras\remap.txt.
使用冒号指定缺少的着色器节点的名称和替换节点的名称。如果只想更改材质,请指定其名称。
如果您还想重新映射纹理坐标,请同时包含它们(与 _uv 后缀的名称相同).
To Palette: 顾名思义,创建材质的 “调色板”。将为每个材质创建一个平面,其中包含该材质的名称和 Bake UV 层。当您需要重新烘焙瓦片时很有用 - 资源的实际几何体只会妨碍此类任务。
BAKE: 开始烘焙过程。创建纹理文件(资源集合名称 + 纹理类型后缀,以
_分隔)。集合名称在第一个点处被截断,因此my_material.001创建my_material_tex_d.tif而不是my_material.001_tex_d.tif。它还会删除指示 LOD 编号的结尾。如果出现问题,它将显示一个解释性弹出窗口并写入一个日志条目。
烘焙在名为 Bake 的 UV 通道上执行 – 您需要为所有低多边形对象创建它。着色器绑定到 UV 通道的命名,因此不建议重命名现有通道。
场景要求
当您按下 BAKE 按钮时,烘焙中使用的所有几何体都必须可见且可选。唯一的例外是可选的笼子。
源几何体必须仅具有受支持的着色器。接收器几何体必须具有名为
Bake的 UV 通道。对于自烘焙,这是相同的资产。当然,UV 布局必须合理。仅仅创建一个 UV 通道是不够的;您还需要正确解包它。
单位正方形之外的所有内容都不会影响结果 – 向左/向上移动重叠的几何体,以避免在同一位置混合来自不同三角形的信息时出现奇怪的伪影。
限制
输出纹理和 proxymat 已准备好在引擎中使用,并在大多数图像查看器和编辑器中正确显示。但是,Photoshop 目前是一个例外。它无法正确解释 Alpha 通道,既不将其显示为第四个通道,也不显示为图层蒙版。
如果您需要更改此类纹理的 Alpha 通道,这里有一个临时解决方案:Layer > Layer Mask >From Transparency允许您将 Alpha 通道提取到蒙版中。在此之后,您可以复制蒙版的内容,删除蒙版,并将其复制的内容放入新的 Alpha 通道中。
这个解决方案不是最优雅的,但它很有效。仅在编辑 Alpha 时需要应用它。