我在从SketchUp导出的简单模型上使用EdgesHelper。它显示了一些像这样的对角线:
如何防止出现这些线条,使边缘看起来像SketchUp中的边缘?我尝试设置thresholdAngle
,但它没有帮助。
更新
工作演示:http://jsfiddle.net/alan0xd7/6vLm5xsa/
这是我想要实现的目标:
答案 0 :(得分:4)
您在没有灯光的场景中渲染模型和边缘辅助对象。删除模型,您可以清楚地看到帮助程序。所有边缘都可以正确渲染。
额外边缘的原因是因为模型中有两条边并发 - 短边和长边。您需要更改几何体。这不是three.js
的问题如果要显示边缘,但隐藏的边缘确实隐藏,则需要使用webgl功能polygonOffset
。您可以使用类似于以下的模式:
var mesh = dae.children[0].children[0];
mesh.scale.set( 20, 20, 20 );
// replace the material
mesh.material = new THREE.MeshBasicMaterial( {
color: 0x000000,
polygonOffset: true,
polygonOffsetFactor: 1, // positive value pushes polygon further away
polygonOffsetUnits: 1
} );
scene.add( mesh )
var helper = new THREE.EdgesHelper( mesh, 0xffffff );
helper.material.linewidth = 2;
scene.add( helper );
更新小提琴:http://jsfiddle.net/6vLm5xsa/15/
three.js r.71