Javascript 3.OBJLoader不工作(类型错误)

Javascript 3.OBJLoader不工作(类型错误),javascript,node.js,webgl,Javascript,Node.js,Webgl,我正在尝试制作一个HTML/Javascript应用程序,它将以Wavefront.OBJ格式显示任意3d模型。现在我有一个可以工作的应用程序,可以显示球体和平面等等。我尝试将THREE.OBJLoader模块合并到我的代码中,但它破坏了一些东西。我已经知道了如何在我的页面中加载它,并测试了它是否实际加载(我在THREE.OBJLoader副本的末尾放置了一个警报,它显示正确) 我用来加载模型的代码如下: var loader = new THREE.OBJLoader(); loader.lo

我正在尝试制作一个HTML/Javascript应用程序,它将以Wavefront.OBJ格式显示任意3d模型。现在我有一个可以工作的应用程序,可以显示球体和平面等等。我尝试将THREE.OBJLoader模块合并到我的代码中,但它破坏了一些东西。我已经知道了如何在我的页面中加载它,并测试了它是否实际加载(我在THREE.OBJLoader副本的末尾放置了一个警报,它显示正确)

我用来加载模型的代码如下:

var loader = new THREE.OBJLoader();
loader.load('3d/models/torus.obj', function ( object ) {
scene.add( object );
});
(它是从这里复制的:。是的,我也阅读并尝试了MrDoob的链接源代码(“Male02.obj”等等)

当我加载带有代码片段的页面时,我看到的是一个空白屏幕(而不是我看到的带有球体的小场景)。Chrome Developer Tools在“var loader=new THREE.OBJLoader();”行后显示错误。错误如下:“Uncaught TypeError:undefined不是函数”


关于如何正确显示三维模型有什么想法吗?提前谢谢。我会根据需要发布更多的代码。

确保将OBJLoader包含在一个单独的标记中——它通常不是构建的艺术/three.js(或three.min.js)

好的,我知道了!问题是我在HTML中为文件指定的加载顺序。在我的程序知道什么是3.OBJLoader之前,我正在尝试创建一个新的加载程序。因此,我在HTML中交换了以下行:

<script src="../lib/objloader.js"></script>  <!-- when this was loaded last, code didn't work -->
<script src="../3d/3d.js"></script>

它位于一个单独的标记中,我还确保它实际加载。与其直接传递函数(对象)部分,不如在调用loader.load()之前通过loader.addEventListener定义它——也就是说,假设THREE.OBJLoader真的可以。