computeVertexNormals

时间:2012-11-05 13:44:29

标签: three.js

我正在使用3d修饰符https://github.com/foo123/MOD3来弯曲立方体。更新几何体(更改顶点位置)后,灯光不会更新,立方体仍然显示为没有任何更改。 所以我试过

cube.geometry.computeVertexNormals()

cube.geometry.computeFaceNormals()

但在那之后,立方体不再像立方体一样呈现,而是像“丑陋的球体”:

enter image description here

左侧是computeVertexNormals()后的阴影,右侧是原始阴影。

如何在几何体更改后更新着色?

1 个答案:

答案 0 :(得分:13)

如果您使用MOD3仅修改几何体,那么您将不得不自己更新法线。

geometry.computeVertexNormals();

每个新的顶点法线将是共享该顶点的相邻面的面法线的归一化和。

如果您不喜欢three.js的方式,您唯一的选择就是自己修改顶点法线。

three.js r.85