首页 > 解决方案 > MTL 文件中的纹理未正确应用于 Three.js 中的 OBJ 模型

问题描述

我正在使用已提供的 3 个文件加载 3D 模型:

我正在使用以下代码段将它们加载到我的 Three.js 脚本中:

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

模型显示在屏幕上并应用了纹理,但不正确(纹理未正确分配给每个面,看起来旋转等)。看起来纹理映射不正确。由于代码段非常简单,而且一切似乎都是自动设置的,我不确定我能做些什么来尝试修复它。任何想法?

顺便说一句,这些文件是从 Zbrush 导出的。

提前致谢

标签: three.js

解决方案


感谢您的评论,但我终于发现了问题所在:Zbrush 将纹理倒置导出。我纠正了他们,问题得到了解决。再次感谢。


推荐阅读