我正在尝试使用three.js加载VRML模型,但似乎我的代码无法正常工作,我无法在网页上显示3D模型。我的代码中有什么问题吗?
var loader = new THREE.VRMLLoader();
loader.load('./Bluegg/Bluegg/Bluegg.wrl', function(object){
alert(object);
scene.add(object);
});
并显示错误消息
无法加载file:///C:/Users/ninom/Desktop/takahiro_note/3DJS/Bluegg/Bluegg/Bluegg.wrl: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
这条消息是什么意思?感谢您抽出宝贵时间。
答案 0 :(得分:2)
如果您从外部文件加载模型或纹理,由于浏览器'相同的原始策略安全限制,从文件系统加载将失败并出现安全性异常。
如果您的网页使用file://
网址,则会按照上述说明从文件系统加载。要解决此问题,您需要运行本地服务器。在文档中提到了很多快速的方法。在安装Node.js v6 +的情况下,我喜欢的是:
# first time only
npm install -g serve
# start a local server "hosting" the current directory
serve .