我正在尝试制作一个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 );
});(它从这里复制:render OBJ file using THREE.OBJLoader。是的,我也阅读并尝试了来自MrDoob的链接源代码("Male02.obj“等等)。
当我用代码片段加载我的页面时,我看到的是一个空白屏幕(而不是我拥有的一个带有球体的小场景)。Chrome开发人员工具在行"var loader = new THREE.OBJLoader();".The错误如下:“未捕获TypeError:未定义不是函数”后显示错误。
对如何正确显示3d模型有什么想法吗?提前谢谢。我会根据需要发布更多的代码。
发布于 2012-12-16 21:06:22
好的,我知道了!问题出在我在HTML中为文件指定的加载顺序。在我的程序知道THREE.OBJLoader是什么之前,我正在尝试创建一个新的加载器。因此,我在HTML中替换了以下行:
<script src="../lib/objloader.js"></script> <!-- when this was loaded last, code didn't work -->
<script src="../3d/3d.js"></script>发布于 2012-12-11 00:12:12
确保将OBJLoader包含在单独的标记中--它通常不是构建/Three.js(或three.min.js)的艺术
https://stackoverflow.com/questions/13802699
复制相似问题