2

我对 Three JS 有点陌生,但我知道它的基础知识。

现在我在使用 ThreeJS 的 MTL 和 OBJLoader 的代码中遇到了以下问题。对象本身已完美加载并渲染到场景中。但是,问题是在将对象添加到场景后出现以下错误:

TypeError: k.ambientLightColor is undefined, three.min.js (line 136, col 35)
TypeError: m.ambientLightColor is undefined, three.min.js (line 139, col 22)

每次我将鼠标悬停在场景上时都会出现新错误。

基本上这会冻结整个应用程序,并且我无法在应用程序运行时将新对象添加到场景中,而我应该能够在我的应用程序中执行此操作。

我的 OBJ+MTLLoader 看起来像这样:

var mtlLoader = new THREE.MTLLoader();
mtlLoader.setPath('objects/buildings/');
mtlLoader.load('Greenbuilding.mtl', function(materials) {
     materials.preload();
     var objLoader = new THREE.OBJLoader();
     objLoader.setMaterials(materials);
     objLoader.setPath('objects/buildings/');
     objLoader.load('Greenbuilding.obj', function(object) {
        object.position.set(0,0,0);
        objects.push(object);
        scene.add(object);
     }, onProgress, onError);
    });

我尝试只使用 OBJLoader,然后没有出现任何问题,这证实了我的怀疑,即使用 MTLLoader 时出现问题。

4

0 回答 0