Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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 三个JS OBJloader-obj未正确导入_Javascript_Three.js_Objloader_Mtl File - Fatal编程技术网

Javascript 三个JS OBJloader-obj未正确导入

Javascript 三个JS OBJloader-obj未正确导入,javascript,three.js,objloader,mtl-file,Javascript,Three.js,Objloader,Mtl File,我正在尝试使用OBJLoader导入obj,但导入不正确 obj是这样的- Obj img 而且它进口了这个- 三个js中的Obj 结果是整个obj导入不好 我能怎么办 我正在做的代码是 var objLoader = new THREE.OBJLoader(); var mtlLoader = new THREE.MTLLoader(); mtlLoader.setTexturePath("obj2/"); mtlLoader.s

我正在尝试使用OBJLoader导入obj,但导入不正确

obj是这样的- Obj img

而且它进口了这个- 三个js中的Obj

结果是整个obj导入不好

我能怎么办

我正在做的代码是

var objLoader = new THREE.OBJLoader();
        var mtlLoader = new THREE.MTLLoader();
            mtlLoader.setTexturePath("obj2/");
            mtlLoader.setPath(  "obj2/"  );
            mtlLoader.load( "Mules/Base_10.mtl", function( materials ) {
                materials.preload();
                objLoader.setMaterials( materials );
                objLoader.load( 'obj2/Mules/Base_10.obj', function ( object ) {

                        object.traverse( function ( child )
                        {
                            if ( child instanceof THREE.Mesh )
                            {
                                meshes.push(child);
                            }
                        });
                        var object = meshes[meshes.length-1];
                        object.position.y = -0.05;
                        object.position.x = 0;
                        object.position.z = 0;

                        object.name = "salto";
                        scene.add(object);
                    }, onProgress, onError );
            }); 
谢谢。

问题是:

                object.traverse(...);
                var object = meshes[meshes.length-1]; //<-- you overriding the object, with the last mesh. 
                object.position.y = -0.05;
                object.position.x = 0;
                object.position.z = 0;

                object.name = "salto";
                scene.add(object); //<-- than you add the object to your scene.

“整个objt导入不好”-这意味着什么?你可以看到图像一和图像二之间的差异。在图中,我正在预览obj文件,在图2中,它在浏览器中。很抱歉英语不好,感谢您查看您的代码,当加载OBJ文件时,您将从中收集所有
3个.Mesh
对象,然后仅将最后一个网格添加到场景中。这是故意的吗?我从。我评论了那个部分,现在看起来很好:)谢谢:解决了。谢谢:)
                object.position.y = -0.05;
                object.position.x = 0;
                object.position.z = 0;

                object.name = "salto";
                scene.add(object);