【问题标题】:Error in OBJLoader of THREE.JS lilbraryTHREE.JS 库的 OBJLoader 出错
【发布时间】:2014-12-06 23:51:12
【问题描述】:

我正在尝试按照那本书中的示例来学习 Three.js 库“Learning Three.js: The JavaScript 3D Library for WebGL”,并且我还从该 github 链接 @987654321 下载了示例集@。大多数示例运行良好,但其中一些会引发错误,尤其是使用 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;

        }

【问题讨论】:

    标签: javascript three.js


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的澄清,我没有注意到这一点。这是否意味着我们必须等到 Jos Dirksen 更新 learning-threejs 以符合当前版本(r68)?
    • 您有两个选择。下载您想要的示例并将其转换为 r68,或者如果您想查看运行的示例,请从github.com/mrdoob/three.js/releases/tag/r63(页面底部)下载 r63 版本的three.js
    猜你喜欢
    • 1970-01-01
    • 2018-06-05
    • 1970-01-01
    • 2017-12-24
    • 2019-02-26
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多