Three.js не может загрузить текстуру для файлов mtl и obj (части с текстурами изображений не отображаются) - PullRequest
0 голосов
/ 27 февраля 2019

У меня проблемы с использованием three.js.

когда я загружаю файл .obj & .mtl, используя OBJLoader & MTLLoader, я получаю это: Rendered using THree.js,

, но должно выглядеть так:

Это означает, что текстура не загружена .

Я просто использую типичный код загрузки obj + mtl:

    var mtlLoader = new THREE.MTLLoader();
    mtlLoader.setPath('obj/');
    mtlLoader.load('74.mtl', function(materials) {
        materials.preload();
        var objLoader = new THREE.OBJLoader();
        objLoader.setMaterials(materials);
        objLoader.setPath('obj/');
        objLoader.load('74.obj', function(object) {
            scene.add(object);
        });
    });

Моя папка проекта выглядит так:

enter image description here

Я получил это сообщение при загрузке html-страницы в chrome: [.WebGL-08E80F00]GL ERROR :GL_INVALID_OPERATION : glDrawArrays: attempt to access out of range vertices in attribute 2

enter image description here

obj, mtl, jpg Файлызагружено: https://drive.google.com/open?id=1bYbzR57CYZj1JxyMiCjrCx331nyb78a1, а также https://pan.baidu.com/s/1jjWCezpXywaEOMKz9djkIw

Если я просто удалю файл map_Kd stone_1.jpg в .mtl, он отлично работает с рассеянным и рассеянным светом.Я также попытался заглянуть в OBJLoader.js, и, кажется, он успешно загрузил изображение.

Я пробовал много способов, но ни один из них не работает ... и я действительно не знаю, что происходит.

Спасибо вам большое !!!

...