从搅拌机中导出的具有金属质感且无粗糙质感的gltf加载到具有与金属质感相匹配的粗糙度纹理的Three.js中

问题描述

如果将金属纹理作为粗糙纹理重复使用(与UUID相同),而我不需要粗糙纹理,那么将粗糙度贴图设置为null会更好吗?

我不明白为什么要重复使用金属质感,因此也应对此进行解释。

解决方法

.metalnessMap使用the blue channel,而.roughnessMap使用相同纹理的green channel。这样做是为了节省文件大小和内存,因为将单个RGB纹理用于多个目的比使用单独的RGB纹理更具成本效益。

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