2014-10-31 103 views
0

从three.js API创建的几何图形工作正常,但从Blender导出的obj文件呈现面时它应该是线框。我的导入或导出过程有问题吗?Three.js MeshBasicMaterial线框将不会呈现

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); 

enter image description here

回答

1

似乎与波前.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); 
+0

你真的想将每个孩子分别添加到场景中 - 而不仅仅是根对象吗? – WestLangley 2014-10-31 03:53:29