如何在不在HTTP服务器上的情况下加载three.js Blender 2.7导出的模型?

时间:2014-07-21 08:19:09

标签: three.js

大家好,我目前在文件中执行所有THREE.js事项:///。

当我按照教程加载模型时,

var myLoader = new THREE.JSONLoader();

myLoader.load( url-path-to-file );

错误:

XMLHttpRequest cannot load file:///C:/.../.../.../testmodel.js. Cross origin requests are only supported for HTTP. three.js:11996
THREE.JSONLoader: "./testmodel.js" seems to be unreachable or the file is empty. three.js:11952
Uncaught NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'file:///C:/.../.../.../testmodel.js'. 

由于使用文件协议的限制,我无法加载这样的内容。我想知道如何跳过这个?我正在考虑将导出的混合器存储为JavaScript对象,然后可能已经有一块THREE.js可以为我做其余的工作了吗?

2 个答案:

答案 0 :(得分:0)

从根目录运行python Web服务器是我为避免XSS相关错误所做的工作。我在windows中安装了python。

来自具有HTML文件的目录的Windows中的Python版本3:

c:\Python33\python.exe -m http.server

然后将浏览器指向:

http://localhost:8000/yourhtmlfile.html

有关为各种版本的python / OS运行服务器的更多信息,请参见此处:

https://github.com/mrdoob/three.js/wiki/How-to-run-things-locally

答案 1 :(得分:0)

查看这个小项目。它是一个3D文件查看器,能够在客户端本地加载STL和Collada文件。在本地和服务器上运行:

https://github.com/yomboprime/Visor3D

从代码中派生出一个本地 JSON加载器函数是微不足道的。 Yoy可以开始修改loadDAEFile()函数(main.js),它将本地文件作为文本读取。