从three.js API创建的几何图形工作正常,但是从Blender导出的obj文件在应该是线框时呈现面。我的导入或导出过程有问题吗?
var loader = new THREE.OBJLoader( manager );
loader.load( '../3d/decoy.obj', function ( object ) {
object.traverse( function(child) {
if( child instanceof THREE.Mesh ) {
child.material = new THREE.MeshBasicMaterial( { color: 0x009900, wireframe: true } );
child.scale.set(20,20,20);
scene.add( child );
}
});
}, onProgress, onError );
答案 0 :(得分:1)
似乎是Wavefront .obj格式的问题。出口到Collada .dae,一切都很顺利。只是注意,遍历是object.scene的一种方法,而不是obj导入中的对象。
var loader = new THREE.ColladaLoader( manager );
loader.load( '../3d/decoy.dae', function ( object ) {
object.scene.traverse( function(child) {
if( child instanceof THREE.Mesh ) {
child.material = new THREE.MeshBasicMaterial( { color: 0x009900, wireframe: true, vertexColors: THREE.VertexColors } );
child.scale.set(20,20,20);
scene.add( child );
}
});
}, onProgress, onError );