2016-04-18 68 views
1

我已经使用官方转换器(https://github.com/mrdoob/three.js/tree/master/utils/converters/obj)将网格从.obj转换为json。网格从一侧正确显示,但从另一侧正确显示。我相信问题是它只有一面,基本上是一架飞机,因此所有的面孔和法线指向一个方向。Three.js:无法显示网格底部

我该如何解决这个问题?

编辑:我可以添加网格两次,一次使用material.side = THREE.BackSide;,但加载两次似乎不是我最好的选择。

+2

你试过'material.side = THREE.DoubleSide'吗? – Brakebein

+0

哎唷,我没有,完全忽略了那个。完美的作品^ _ ^谢谢! –

回答

1

当使用WebGLRenderer时,默认情况下仅渲染三角形图元的正面。您可以覆盖通过设置:

material.side = THREE.DoubleSide; // or THREE.BackSide 

前脸由绕组顶点的顺序确定。

如果按照逆时针顺序(CCW)指定三角形顶点,则正面朝向您;如果按照顺时针顺序(CW)指定,则前脸将背离你。

此行为可以通过WebGLRenderer.setFaceCulling()方法更改,但不太可能会发现这种必要。

three.js r.75