Three.js跨域问题
通过Three.js加载obj、FBX等格式外部模型文件的时候是ajax异步加载数据的过程,需要建立本地服务器来解决,如果不这样直接使用浏览器打开加载三维模型的.html文件,会出现报错无法模型文件无法加载,浏览器控制报错跨域问题的情况。
浏览器控制台报错:
three.js:30833 Access to XMLHttpRequest at 'file://....' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
如果你有很好的前后端基础,肯定对跨域问题很了解,如果不了解也没关系,下面会详细说明如何解决。
解决方案
解决方案就是在本地自定义服务器,可以通过nodejs、python等任何一个你熟悉的语言来实现。
编辑器
如果不想麻烦在本地自定义服务器,也可以使用会自动帮助你建立本地服务器的一些代码编辑器,比如常见的的atom、WebStorm等编辑器,当然有些编辑器不会自动建立本地服务器,如果你不想更换不熟悉的代码编辑器,那就需要后端语言自定义本地服务器。
Nodejs自定义服务器
如果你熟悉其它的后端语言直接使用你熟悉的后端语言自定义服务器就可以,如果不熟悉,可以选择Nodejs。
如果你没有前后端基础,刚开始学习Threejs可以不展开学习前端、后端知识,能够调试three.js代码就行。如果你想开发项目,前后