材质上的纹理作为空材质导入 Unity3D

问题描述

我目前正在使用 Blender3D 和 Unity3D 作为业余爱好做一个项目。我在 Blender 中构建了一个对象,它有 2 种材质和纹理,具有霓虹效果(特别是使用 Emission Shader),但是一旦我在 Unity 中导入该对象,我就完全失去了纹理,并且对象变成空白。在 Blender 中的 Principled BSDF 着色中的简单纹理不会发生这种情况。为什么发射纹理没有导入,我该如何解决这个问题?谢谢。

解决方法

当您从其他软件导入 fbx 时,元数据不匹配是一种非常常见的情况。这不是 Blender 特定的问题,它有时会在 Maya 和 Cinema4D 上发生。

而且软件之间的着色器不会完全相同,我们应该以一种非常干净的方式工作。 (如果你想有一个合适的解决方案,请不要偷懒下面的工作流程)

我在 3D 和 unity 导入部分工作的最佳工作流程:

  1. 在不嵌入纹理的情况下导出 fbx
  2. 导入到 unity,并将所有材料解压到一个新文件夹“Materials”
  3. 使用新文件夹“Textures”将所有使用过的纹理复制到 unity 中
  4. 手动将所有纹理、漫反射、法线、发射等重新映射到材质。