0

我正在加载一个 BM3 文件,其中包含(几何和)材料信息的定义,如下所示:

{
  type: "Phong",
  opacity: 1,
  name: "",
  diffuseMap: 0,
  color: [
    0.254902,
    0.2,
    0.129412,
  ],
  transparent: false,
  specularMap: 1,
  specular: [
    0.811765,
    0.811765,
    0.811765,
  ],
  shininessInSpecMap: true,
  shininess: 174,
  refractionRatioMap: 2,
  refractionRatio: 3.35294,
  normalMap: 3,
  LUTPublications: [
    "pot",
  ],
  lightMap: 4,
}

然后我使用 ThreeJS 创建一个 Mesh 对象和 MeshPhongMaterial。以下是按顺序排列的贴图:diffuseMap、normalMap、specularMap、refrationRatioMap、lightMap。MeshPhongMaterial 是使用上面的贴图创建的,除了 lightMap。

漫反射贴图 法线贴图 高光贴图 折射比图 光照贴图

如果我加载这个网格,我会得到以下深色图像:

图 1(原始设置)

如果我将颜色属性更改为 (1,1,1)。我得到了一个更亮的橙色,但锅还是黑的。

在此处输入图像描述

但是,如果我在另一个应用程序中加载这个对象,它看起来像这样: 锅看起来很亮。在我看来,好像材料的金属/钢面处理不当,因为我尝试过的任何其他模型都是这种情况,它的零件看起来像钢。知道为什么材质会变暗(而应该以不同的方式呈现/更亮)吗?

在此处输入图像描述

4

1 回答 1

0

您的法线贴图可能会反转,这会导致光线反射离开相机。在生成法线贴图的软件中,查找 Y+、Y-up、bottom-up 或 OpenGL 等设置。

于 2022-01-25T21:38:50.230 回答