加载 GLTF 后的 Aframe 加载光照贴图 - 光照贴图未显示

Aframe Load lightmap after loading GLTF - lightmap not showing

我试图在从 GLTF 文件加载一些网格后向它们添加光照贴图。 我所有的对象都有 2UV 通道。

我在等'object3dset',这是我的代码:

    const mesh = this.el.getObject3D('mesh');
    var textureLoader = new THREE.TextureLoader();

    textureLoader.load("lightmap.png", function(lmap){

        mesh.traverse((node) => {

            if (!node.isMesh) return;

            node.material.lightMap = lmap;
            lmap.flipY = node.material.map.flipY; //needed to flip the texture

            node.material.needsUpdate = true;

          });
    });

如果我用新的 material 替换并设置光照贴图,它就可以工作了。 但我想找到一种无需重新创建所有 material 的方法。

光照贴图已加载,但不容易看到。 默认情况下,在将 GLTF 结果加载到 1.0 级后,Khronos Blender Exporter 的金属度在 threejs 中转换。使用此配置,光照贴图很难看到,并且与我们在 Blender 中看到的不对应。

我希望我的错误可以帮助其他人浪费太多时间。