我试图用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 );
}); 谢谢。
发布于 2018-08-22 13:52:51
问题是:
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);https://stackoverflow.com/questions/51965869
复制相似问题