使用Three.js从本地机器加载OBJ模型?

时间:2013-10-29 07:07:12

标签: javascript google-chrome model 3d three.js

我正在尝试使用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无法加载.Occess-Control-Allow-Origin不允许使用null。

我在桌面上拥有3D图形方面的专业知识,但我对JavaScript和互联网技术完全陌生。我对Three.js感到非常兴奋,我真的很有动力去探索它,但是我已经有了这些打嗝。

我试图在互联网上查看,但没有成功。 我真的需要帮助。我很感激任何人可能对如何克服这个问题提出任何建议。

由于

1 个答案:

答案 0 :(得分:1)

这听起来像是在本地运行three.js的Chrome安全问题。 Firefox可能会在没有任何额外步骤的情况下显示模型。

要实现此功能,您需要将此行添加到Chrome快捷方式目标

--allow-file-access-from-files

所以它在Windows上看起来像这样

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files

有关此主题的更多信息here