我正在尝试在three.js中创建特定类型的3D对象。 我想要一个线框模式的立方体(所以只显示边缘)。 但我希望后面的边缘是虚线的。 插图:
我不知道这对于three.js是否可行,或者我是否应该直接尝试使用webgl。
我应该在线框中使用THREE.Mesh
,还是THREE.Line
使用LineDashedMaterial
,还是两者都在彼此之上?
答案 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)