3

当我尝试使用 Babylon.js 将图像添加到 3d 球体时,出现错误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(我试图加载图像的那个)没有出现在程序中,但其他一切正常。

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

4

2 回答 2

5

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

于 2014-06-03T14:17:37.663 回答
1

只有当您的应用程序在本地或全局服务器上运行时,您才能加载资产。否则,http请求无法完成。

于 2016-08-23T11:21:49.083 回答