Javascript THREE.JS lilbrary的OBJLoader中出错

Javascript THREE.JS lilbrary的OBJLoader中出错,javascript,three.js,Javascript,Three.js,为了学习Three.js库“Learning Three.js:JavaScript 3D library for WebGL”,我正在尝试按照书中的示例进行学习,我还从github链接下载了示例集。大多数示例运行良好,但其中一些示例会产生错误,尤其是使用OBJLoader.js文件加载波前对象的示例。它在运行时引发以下错误 未捕获类型错误:未定义不是函数VM12649 OBJLoader.js:66 OBJLoader.js的相应部分是 function meshN( meshName, ma

为了学习Three.js库“Learning Three.js:JavaScript 3D library for WebGL”,我正在尝试按照书中的示例进行学习,我还从github链接下载了示例集。大多数示例运行良好,但其中一些示例会产生错误,尤其是使用OBJLoader.js文件加载波前对象的示例。它在运行时引发以下错误

未捕获类型错误:未定义不是函数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;

        }

您已经下载了three.js库的最新版本(可能是r68),但这些示例是针对r63版本编写的,因此有些地方发生了变化


正如您在r67中看到的,方法
computeCentroids
已从
几何体中删除

谢谢你的澄清,我没有注意到。这是否意味着我们必须等到Jos Dirksen更新learning threejs以符合当前版本(r68)的要求?您有两个选择。下载您想要的示例并将其转换为r68,或者如果您想看到示例运行,请从(页面底部)下载r63版本的three.js