2014-10-31 83 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