我在使用three.js时遇到问题。
当我使用OBJLoader和MTLLoader加载.obj和.mtl文件时,我得到了: ,
这表示纹理未加载。
我只是使用加载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);
});
});
我的项目文件夹如下:
我在chrome中加载html页面时收到了此消息:[.WebGL-08E80F00]GL ERROR :GL_INVALID_OPERATION : glDrawArrays: attempt to access out of range vertices in attribute 2
obj,mtl,jpg文件上传到https://drive.google.com/open?id=1bYbzR57CYZj1JxyMiCjrCx331nyb78a1和https://pan.baidu.com/s/1jjWCezpXywaEOMKz9djkIw
如果我只是删除.mtl文件中的map_Kd stone_1.jpg
,则它在环境光和漫射光下都可以正常工作。我还尝试深入研究OBJLoader.js,看来它成功加载了图像。
我尝试了很多方法,但是它们都不起作用……我真的不知道发生了什么。
非常感谢您!!!