Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript obj文件中的threejs UV映射_Javascript_Three.js_Texture Mapping_Uv Mapping - Fatal编程技术网

Javascript obj文件中的threejs UV映射

Javascript obj文件中的threejs UV映射,javascript,three.js,texture-mapping,uv-mapping,Javascript,Three.js,Texture Mapping,Uv Mapping,我对单个面上的STL模型应用了简单的UV映射,结果如下: 现在我从blender导出.obj和.mtl文件。如果你愿意,你可以下载它们。当我使用OBJLoader和MTLLoader加载此obj和MTLLoader文件时,结果如下: 为什么映射不一样?我想three.js可以从文件中读取UV映射。有没有其他方法可以将UV贴图导出到模型,或者我做错了什么 这是我用来加载obj和mtl文件的代码: this.loadOBJ = function (baseURL, objFile, mtlFil

我对单个面上的STL模型应用了简单的UV映射,结果如下:

现在我从blender导出
.obj
.mtl
文件。如果你愿意,你可以下载它们。当我使用
OBJLoader
MTLLoader
加载此
obj
MTLLoader
文件时,结果如下:

为什么映射不一样?我想
three.js
可以从文件中读取UV映射。有没有其他方法可以将UV贴图导出到模型,或者我做错了什么

这是我用来加载
obj
mtl
文件的代码:

this.loadOBJ = function (baseURL, objFile, mtlFile, type) {
        return new Promise(function (resolve, reject) {
            console.log("Adding OBJ file '" + objFile + "' with MTL file '" + mtlFile + "'");
            scope.clearScene();

            // OBJ file loader
            function loadOBJ(materials) {
                var objLoader = new THREE.OBJLoader();
                if (materials) {
                    objLoader.setMaterials(materials);
                }

                objLoader.setPath(baseURL);
                objLoader.load(objFile, function (object) {

                    loadedMesh = object.children[0];

                    scene.add(loadedMesh);
                    centerCamera(loadedMesh);

                    render();
                    resolve();
                }, function (xhr) {
                    if (xhr.lengthComputable) {
                        var percentComplete = xhr.loaded / xhr.total * 100;
                        console.log("Loading OBJ file: " + Math.round(percentComplete, 2) + '% downloaded');
                    }
                }, function (xhr) {
                    console.log("Error loading OBJ: " + JSON.stringify(xhr));
                    reject();
                });
            };

            if (!mtlFile) {
                console.log("No MTL file specified, just loading OBJ");
                loadOBJ();
            }
            else {
                // Try to load the materials file first
                var mtlLoader = new THREE.MTLLoader();
                mtlLoader.setPath(baseURL);
                mtlLoader.load(mtlFile, function (materials) {

                    // File loaded, load the OBJ file now
                    materials.preload();
                    loadOBJ(materials);

                }, function (xhr) {
                    if (xhr.lengthComputable) {
                        var percentComplete = xhr.loaded / xhr.total * 100;
                        console.log("Loading MTL file: " + Math.round(percentComplete, 2) + '% downloaded');
                    }
                }, function (xhr) {
                    // We couldn't load the MTL file, load the OBJ anyway
                    console.log("Error loading MTL file: " + JSON.stringify(xhr) + ". Will load only OBJ file");
                    loadOBJ();
                });
            }
        });
    }

在mtl文件中,更改此行:

map_Kd uv_checker large.png


这只是一个搅拌机出口问题。我刚刚用这个设置导出了我的模型,它工作得非常好


uv贴图是相同的,您的几何体是不同的。因此几何体的创建方式与Blender中的不同?
map_Kd large.png