Three.js无法为mtl和obj文件加载纹理(未显示带有图像纹理的部分)

时间:2019-02-27 13:32:54

标签: javascript three.js textures

我在使用three.js时遇到问题。

当我使用OBJLoader和MTLLoader加载.obj和.mtl文件时,我得到了: 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

我在chrome中加载html页面时收到了此消息:[.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=1bYbzR57CYZj1JxyMiCjrCx331nyb78a1https://pan.baidu.com/s/1jjWCezpXywaEOMKz9djkIw

如果我只是删除.mtl文件中的map_Kd stone_1.jpg,则它在环境光和漫射光下都可以正常工作。我还尝试深入研究OBJLoader.js,看来它成功加载了图像。

我尝试了很多方法,但是它们都不起作用……我真的不知道发生了什么。

非常感谢您!!!

0 个答案:

没有答案