材质

使用现有的Godot材质

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

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

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

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

这可以取以下值:

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

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

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

导出Cycles/EEVEE材质

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

  • 所有 噪声纹理

  • 生成纹理坐标

  • 编组节点

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

警告

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

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

生成外部材质

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

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

.material 文件可以分配到任何材料插槽, 以作为一个外部资源.

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