Javascript 三个JS OBJloader-obj未正确导入
我正在尝试使用OBJLoader导入obj,但导入不正确 obj是这样的- Obj imgJavascript 三个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
而且它进口了这个- 三个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);