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