2013-07-14 52 views
2

我尝试画几张脸的网格。脸部没有绘制

一些脸部被绘制其中一些不是。

当实例化通常未绘制的网格时,将绘制其索引反向的 。

下不工作:

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

这对我来说意味着顶点的顺序是 错误的,所以正常相反的方向拉动, 但我将正确的法线传递给脸部(我计算自己) 即使我试图否定正常,脸部也没有绘制。

因此,如果我按照我的理解通过了正确的正常值,那么如果将指数置于相反或其他值,它将使 无差异。

我在哪里错了?

回答

3

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

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

three.js r.58