任何人都可以建议我如何修复下面的代码来获取STL文件中的线框?非常感谢.p s:有没有人知道如何选择加载的stl文件的面孔? p s:我刚刚使用JSON来解决问题
var loader = new THREE.STLLoader();
loader.load('models/general_lee.stl', function (geometry) {
geometry.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 );
}
})
})
答案 0 :(得分:0)
var loader = new THREE.STLLoader();
loader.load('models/general_lee.stl', function (geometry) {
var material = new THREE.MeshBasicMaterial( { color: 0x009900, wireframe: true );
var mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );
});
我认为这是你应该如何将你的对象添加到场景中,尽管我还没有测试过它 拾取面将与任何其他object3D对象相同。搜索谷歌的教程。
答案 1 :(得分:0)
经过几次实验,我认为几乎不可能存储STL文件的所有面。相反,我使用blender 2.65转换器将STL文件转换为JSON。它工作得很好,并为我提供了顶点,面,法线,甚至顶点和面的#,我能够非常容易地处理每个面。此外,在选择相邻面时,我使用了半边数据结构。