我正在尝试使用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感到非常兴奋,我真的很有动力去探索它,但是我已经有了这些打嗝。
我试图在互联网上查看,但没有成功。 我真的需要帮助。我很感激任何人可能对如何克服这个问题提出任何建议。
由于
答案 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。