面部没有画出来

时间:2013-07-14 14:06:01

标签: three.js

我尝试绘制一个有几个面孔的网格。

其中一些面孔不会被绘制出来。

实例化通常未绘制的网格时, 反转的指数是绘制的。

以下不起作用:

   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));

这对我来说意味着顶点的顺序是 错了,所以法线是朝相反的方向画的, 但是我将正确的法线传递给了脸部(我自己计算) 即使我试图否定正常,也不会画出脸。

因此,如果我按照我的理解通过了正确的法线,它就会成功 如果指数反向或其他方式没有区别。

我哪里错了?

1 个答案:

答案 0 :(得分:3)

面部正面由缠绕顺序决定,而不是面部正常。默认的绕线顺序是逆时针(CCW)。

查看Geometry.computeFaceNormals()的来源,并注意计算的面法线与CCW缠绕顺序的一致性。

three.js r.58