OBJ + MTL 加载但不渲染

OBJ + MTL loads but doesn't render

如果我使用下面的代码加载从 https://poly.google.com/view/9NXf-SDxJny 它工作正常,我在我的场景中看到了渲染的星星。

return new Promise((resolve, reject) => 
    {
        let mtlLoader = new THREE.MTLLoader();
        mtlLoader.crossOrigin = true;
        mtlLoader.setPath(ASSETS_PATH);
        mtlLoader.load(filename + '.mtl', (materials) => 
        {           
            materials.preload();
            let objLoader = new THREE.OBJLoader();
                objLoader.setPath(ASSETS_PATH);

                objLoader.setMaterials(materials);
                objLoader.load(filename + '.obj', (obj) => 
                {   
                    this.obj = obj; 
                    resolve(true);
                });
        });
    });

但是当我使用相同的代码从 https://poly.google.com/view/4-OZNPuTqFq 加载 obj 和 mtl 时,它没有显示。我没有收到任何错误。如果我删除行 objLoader.setMaterials(materials); 然后我看到蛋糕但没有 material。所以这似乎是一个 material 问题。

我有一个带有完整代码的 codepen https://codepen.io/steveg3003/pen/6f0d8c4a17ed12bea49b3391a6d80ce3?editors=0010

谢谢

所以我的解决方案是手动将 material 文件 (.mtl) 中的 'd' 值从 0.00000 更改为 1.00000

类似的事情发生在我身上,除了模特是全黑的。我必须打开 .mtl 文件并将 "Kd 0.00 0.00 0.00" 更改为 "Kd 1.00 1.00 1.00"