THREE.JS库的OBJ Loader出错

时间:2014-10-12 06:48:23

标签: javascript three.js

我试图按照那本书中的例子来学习Three.js库和#34;学习Three.js:用于WebGL的JavaScript 3D库"我也有从github链接https://github.com/josdirksen/learning-threejs下载的示例集。大多数示例运行正常,但其中一些会引发错误,尤其是使用OBJLoader.js文件加载Wavefront对象的错误。它在运行时引发了以下错误

Uncaught TypeError: undefined is not a function VM12649 OBJLoader.js:66

OBJLoader.js的对应部分是

function meshN( meshName, materialName ) {

        if ( geometry.vertices.length > 0 ) {

            geometry.mergeVertices();
            geometry.computeCentroids();   //EXCEPTION RASED HERE !!!!!
            geometry.computeFaceNormals();
            geometry.computeBoundingSphere();

            object.add( mesh );

            geometry = new THREE.Geometry();
            mesh = new THREE.Mesh( geometry, material );

            verticesCount = 0;

        }

1 个答案:

答案 0 :(得分:0)

您已经下载了最新版本的three.js库(可能是r68),但是这些示例是针对版本r63编写的,所以有些事情已经改变了。

正如您在r67中的https://github.com/mrdoob/three.js/releases所见,方法computeCentroids已从Geometry中移除。