当我尝试使用Babylon将图像添加到3d球体时。js,我得到错误 Uncaught SecurityError: Failed to execute 'texImage2D' on 'WebGLRenderingContext': Tainted canvases may not be loaded.

这就是我编写代码的方式。我已经按照教程 这里 在我尝试改变纹理之前,一切都很有效。

//Creation of spheres
var sphere1 = BABYLON.Mesh.CreateSphere("Sphere1", 10.0, 6.0, scene);
var sphere2 = BABYLON.Mesh.CreateSphere("Sphere2", 2.0, 7.0, scene);
var sphere3 = BABYLON.Mesh.CreateSphere("Sphere3", 10.0, 8.0, scene);

//Positioning the meshes
sphere1.position.x = 10;
sphere3.position.x = -10;

//Textures
var sphere1texture = new BABYLON.StandardMaterial("sphere1texture", scene);
var sphere2texture = new BABYLON.StandardMaterial("sphere2texture", scene);
var sphere3texture = new BABYLON.StandardMaterial("sphere3texture", scene);
sphere1texture.alpha = 0.75
sphere2texture.diffuseTexture = new BABYLON.Texture("./texture1.jpg", scene); 

sphere2 (我试图加载图像的那个)没有显示在程序中,但其他一切都很好。

另外,我尝试下载课程的源代码,发生了同样的事情,所以我猜测它与我的浏览器(Google Chrome)有关。

有帮助吗?

解决方案

您必须在web服务器上使用文件,而不是在本地使用文件,以确保没有安全问题

其他提示

仅当您的应用在本地或全局服务器上运行时,才能加载资源。如果没有,http请求就不能完成。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top