Вопрос

Когда я пытаюсь добавить изображение в трехмерную сферу с помощью Babylon.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).

Это было полезно?

Решение

Вы должны использовать свои файлы на веб-сервере, а не локально, чтобы гарантировать отсутствие проблем с безопасностью.

Другие советы

Вы можете загружать ресурсы, только если ваше приложение запущено на локальном или глобальном сервере.В противном случае HTTP-запрос не может быть выполнен.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top