2014-10-31 4 views
0

Геометрия, созданная с помощью API-интерфейсов three.js, работает нормально, но файл obj, экспортированный из Blender, создает лица, когда он должен быть каркасом. Что-то не так с моим процессом импорта или экспорта?Three.js MeshBasicМатериал каркаса не будет отображаться

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

Появляется быть проблема с WAVEFRONT .obj формат. Экспортируется в Collada .dae, и все хорошо. Просто примечание, обход - это метод object.scene, а не объект, как в obj import.

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