Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 跨原点问题加载skybox的图像_Javascript_Three.js_Skybox - Fatal编程技术网

Javascript 跨原点问题加载skybox的图像

Javascript 跨原点问题加载skybox的图像,javascript,three.js,skybox,Javascript,Three.js,Skybox,这让我快发疯了。我正在尝试使用从互联网上获得的图像制作skybox。我的代码: 作为全局变量: var path = "file:///C:/Users/Tyler/Desktop/ComS_336_workspace/"; var imageNames = [ path + "meadow_bk.jpg", path + "meadow_ft.jpg",

这让我快发疯了。我正在尝试使用从互联网上获得的图像制作skybox。我的代码:

作为全局变量:

var path = "file:///C:/Users/Tyler/Desktop/ComS_336_workspace/";
    var imageNames = [
                      path + "meadow_bk.jpg",
                      path + "meadow_ft.jpg",
                      path + "meadow_up.jpg",
                      path + "meadow_dn.jpg",
                      path + "meadow_rt.jpg",
                      path + "meadow_lf.jpg"
                      ];
在主要功能中:

   // load the six images
      //THREE.ImageUtils.crossOrigin = "Anonymous";
      var ourCubeMap = THREE.ImageUtils.loadTextureCube(imageNames);
但是得到这个错误:

DOMException: Failed to execute 'texImage2D' on 'WebGLRenderingContext': The cross-origin image at file:///C:/Users/Tyler/Desktop/ComS_336_workspace/meadow_ft.jpg may not be loaded.
Image from origin 'file://' has been blocked from loading by Cross-Origin Resource Sharing policy: Invalid response. Origin 'null' is therefore not allowed access.
当我添加三个.ImageUtils.crossOrigin=“匿名”;我得到这个错误:

DOMException: Failed to execute 'texImage2D' on 'WebGLRenderingContext': The cross-origin image at file:///C:/Users/Tyler/Desktop/ComS_336_workspace/meadow_ft.jpg may not be loaded.
Image from origin 'file://' has been blocked from loading by Cross-Origin Resource Sharing policy: Invalid response. Origin 'null' is therefore not allowed access.
我看到一些帖子说运行chrome时,允许从文件或其他任何地方访问文件,但不想冒任何安全问题。然后我看到其他人说把图片放到Web服务器上?我完全不知道该怎么做,为什么会这么复杂

我的html和js文件与我的图像位于同一文件夹(ComS_336_workspace)中


我只是真的需要帮助做什么,如果我必须做一个Web服务器,我该如何把我的图片放在上面并设置图片的路径?要解决这个问题,您需要将远程文件保存到站点,或者使用站点中的代理脚本(示例中为PHP)通过站点获取图像


无论如何,您需要一个解决方案来消除符合CORS的错误。从
文件://
加载webgl和图像将不起作用。

您使用什么来编辑代码?如果您试图从桌面上运行该页面进行测试,那么我建议您这样做


这是一款很棒的免费软件,可以帮助您在构建代码时解决CORS问题。

“我真的需要帮助做什么”-您已经说过您必须做的事情:在WEB服务器上托管您的网站。“我必须做一个WEB服务器,如何将图像放在上面并设置图像路径?”-选择一个WEB服务器。安装它。遵循它的指示。