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