我尝试绘制一个有几个面孔的网格。
其中一些面孔不会被绘制出来。
实例化通常未绘制的网格时, 反转的指数是绘制的。
以下不起作用:
geom.faces.push(new THREE.Face3(k,k+1,k+2,myface.normal));
这有效:
geom.faces.push(new THREE.Face3(k+2,k+1,k,myface.normal));
这对我来说意味着顶点的顺序是 错了,所以法线是朝相反的方向画的, 但是我将正确的法线传递给了脸部(我自己计算) 即使我试图否定正常,也不会画出脸。
因此,如果我按照我的理解通过了正确的法线,它就会成功 如果指数反向或其他方式没有区别。
我哪里错了?
答案 0 :(得分:3)
面部正面由缠绕顺序决定,而不是面部正常。默认的绕线顺序是逆时针(CCW)。
查看Geometry.computeFaceNormals()
的来源,并注意计算的面法线与CCW缠绕顺序的一致性。
three.js r.58