如果我使用以下代码加载从.obj和.mtl下载 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(材料); 这一行,那么我会看到蛋糕,但没有材料。所以这似乎是一个重大问题。
我有一个带有完整代码的codepen https://codepen.io/steveg3003/pen/6f0d8c4a17ed12bea49b3391a6d80ce3?editors=0010
由于
答案 0 :(得分:1)
所以对我来说,解决方案是将材质文件(.mtl)中的'd'值从0.00000手动更改为1.00000
答案 1 :(得分:1)
类似的事情发生在我身上,除了模型全是黑色的。我必须打开.mtl文件,并将“ Kd 0.00 0.00 0.00”更改为“ Kd 1.00 1.00 1.00”