材质

使用现有的Godot材质

导出器处理材质的一种方法, 是尝试将Blender材质与现有的Godot材质进行匹配. 这具有能够使用Godot材质系统的所有功能的优点, 但这意味着你可以看到模型, 但不附带在Blender中应用的材质.

为此,导出器会尝试查找名称与 Blender 中的材质名称相匹配的 Godot 材质。因此,如果你在 Blender 中导出一个对象,它使用了名为 PurpleDots 的材质,则导出器将搜索文件 PurpleDots.tres 并将其分配给该对象。如果此文件不是 StandardMaterial3DShaderMaterial ,或者如果找不到,则导出器将退回到从 Blender 导出材质。

导出器搜索 .tres 文件的位置由 材质搜索路径 选项确定:

../../../_images/material_search.jpg

这可以取以下值:

  • 项目目录——尝试查找 project.Godot 并递归搜索子目录. 如果找不到 project.Godot , 则会抛出错误. 这对于不太可能存在命名冲突的大多数项目非常有用.

  • 导出目录——在导出位置的子目录中查找材质. 这对于你可能具有重复材质名称并需要更多控制所分配材质的项目非常有用.

  • 无——不搜索材质. 从Blender文件中导出它们.

导出Cycles/EEVEE材质

导出器具有一个基本支持,可以将 Cycles/EEVEE 材质节点树转换为 Godot 着色器材质。请注意,由于实现上的困难,尚不支持某些着色器节点,它们是:

  • 所有 噪声纹理

  • 生成纹理坐标

  • 编组节点

  • 原理化 BSDF漫射光泽玻璃添加着色器 以及 混合着色器 外的着色器节点

警告

如果可能的话,尽量使用带有 GGX 分布的 PrincipledBSDF 节点作为输出着色器节点,这是唯一能保证完全正确的节点,其他的只是基于近似值。

有时,材质可能无法有效导出(例如,具有某些不受支持的节点),或者它使用的是 Blender 内置引擎,仅导出漫反射颜色和一些标记(例如,无阴影)并形成一个StandardMaterial3D。

生成外部材质

材料导出的默认配置会将所有材质保留在 escn 文件内部. 有一个选项可以确保, 在Godot中打开 escn 文件时生成外部 .material 文件.

../../../_images/external_mat_option.jpg

.material file can be assigned to any material slot to be an external resource.

../../../_images/gd_dot_material.jpg