【发布时间】:2013-11-08 05:29:33
【问题描述】:
我正在尝试使用 Three.js 加载 OBJ 模型。
一开始我试过这个:
var loader = new THREE.OBJLoader( );
loader.load( 'chair.obj', function ( object )
{
scene.add( object );
});
但我收到一条错误消息,说只有 HTTP 支持跨源请求。
我在网上寻求帮助,找到了这个页面:https://github.com/mrdoob/three.js/wiki/How-to-run-things-locally
并尝试从 cmd 行运行 Chrome:chrome --allow-file-access-from-files
还是什么都没有。
最后我尝试使用 Python 的内置 Http 服务器。 并尝试像这样加载:
var loader = new THREE.OBJLoader( );
loader.load( 'http://localhost:8000/chair.obj', function ( object )
{
scene.add( object );
});
现在场景加载了,但我尝试加载的模型没有显示出来。在 Chrome 开发工具中,我看到以下错误:
XMLHTTPRequest 无法加载。Access-Control-Allow-Origin 不允许Origin null。
我在桌面上具有 3D 图形方面的专业知识,但我对 JavaScript 和互联网技术完全陌生。 Three.js 让我非常兴奋,并且非常有动力去探索它,但我遇到了这些问题。
我尝试在互联网上查找此内容,但没有成功。 我真的需要帮助。我会很感激任何人可能对如何克服这一点提出任何建议。
谢谢
【问题讨论】:
-
嗯,好吧,不用加载 obj ,而是将您的页面导航到适当的目录。例如 localhost:8000/index.html 在您的浏览器中。在 OBJ-Loader 中,如果文件与 index.html 位于同一目录中,则只需使用“/chair.obj”作为路径。这应该工作:)
-
非常感谢!这有效!
标签: javascript google-chrome model 3d three.js