我对 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 时出现问题。