三个 JS OBJloader - obj 未正确导入

Three JS OBJloader - obj not importing properly

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

对象是这样的- 对象 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.

不要覆盖对象。此外,您不需要遍历对象,因为您会将整个对象添加到场景中。无论如何你对你的网格什么都不做:)

所以试试这个:

                object.position.y = -0.05;
                object.position.x = 0;
                object.position.z = 0;

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