无法读取属性' vertexNormals'未定义的

时间:2015-05-28 21:32:47

标签: three.js

我使用了three.js文档页面中的示例代码来加载带有.mtl的.obj文件,并且它一直给我错误无法读取属性' vertexNormals'未定义的。

代码如下:

// instantiate a loader
var loader = new THREE.OBJMTLLoader();

// load an obj / mtl resource pair
loader.load(
  // OBJ resource URL
  'models/farmhouse.obj',
  // MTL resource URL
  'models/farmhouse.mtl',
  // Function when both resources are loaded
  function ( object ) {
    scene.add( object );
  },
  // Function called when downloads progress
  function ( xhr ) {
    console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
  },
  // Function called when downloads error
  function ( xhr ) {
    console.log( 'An error happened' );
  }
);

1 个答案:

答案 0 :(得分:0)

这个错误显然是因为使用了旧版本的three.js构建的three.js mtl对象加载器。问题是我使用的软件包中的three.js源代码与我在文档中使用的较新的加载器不兼容。

解决方案是添加最新版本的three.js代替包的three.js构建。 (确实引入了其他回归来解决)。如果您在将模型加载到场景中时看到了这个确切的错误,那么three.js构建很可能已经过时了。