three.js线框只有隐藏边缘为虚线的形状

时间:2013-02-26 08:02:45

标签: javascript three.js webgl

我正在尝试在three.js中创建特定类型的3D对象。 我想要一个线框模式的立方体(所以只显示边缘)。 但我希望后面的边缘是虚线的。 插图:illustration

我不知道这对于three.js是否可行,或者我是否应该直接尝试使用webgl。 我应该在线框中使用THREE.Mesh,还是THREE.Line使用LineDashedMaterial,还是两者都在彼此之上?

2 个答案:

答案 0 :(得分:5)

我设法做到了。 您需要创建三个对象。

第一个对象:实体3d对象(我的意思是面不是边缘)

第二个对象:所有边缘但是虚线

第3个物体:所有边缘但正常(不是虚线)

对于第一个对象,使用color: false, side: THREE.DoubleSide, depthTest: true设置材料。

第二个对象材料:color: (whatever you like), depthTest: false

第三个对象材料:color: (whatever you like), depthTest: true

我还使用polygonOffset: true, polygonOffsetFactor: 1, polygonOffsetUnits: 1设置所有材料以摆脱z战斗。

答案 1 :(得分:4)

这是一个非常酷的主意。我已按上述方式实施了您的答案:

http://stemkoski.github.com/Three.js/Dashed-3D.html

如果有人想看到它的实际效果。