从具有金属质感且没有粗糙度纹理的搅拌机导出的 gltf 被加载到具有粗糙度纹理匹配金属质感的 three.js

gltf exported from blender with metallic texture and no roughness texture is loaded into three.js with roughness texture matching metallic texture

如果金属纹理被重用(相同的 UUID)作为粗糙度纹理并且我不需要粗糙度纹理,将 roughnessMap 设置为 null 会更高效吗?

我不明白为什么要重复使用金属质感,因此也希望能对此做出解释。

.metalnessMap使用相同材质的the blue channel while the .roughnessMap uses the green channel。这样做是为了节省文件大小和内存,因为将单个 RGB 纹理用于多种用途比使用单独的 RGB 纹理更 cost-effective。

环境光遮蔽使用指定纹理的 the red channel,因此您可能以一张的价格拥有三张单独的贴图!