我正在使用3d修饰符https://github.com/foo123/MOD3来弯曲立方体。更新几何体(更改顶点位置)后,灯光不会更新,立方体仍然显示为没有任何更改。 所以我试过
cube.geometry.computeVertexNormals()
和
cube.geometry.computeFaceNormals()
但在那之后,立方体不再像立方体一样呈现,而是像“丑陋的球体”:
左侧是computeVertexNormals()
后的阴影,右侧是原始阴影。
如何在几何体更改后更新着色?
答案 0 :(得分:13)
如果您使用MOD3仅修改几何体,那么您将不得不自己更新法线。
geometry.computeVertexNormals();
每个新的顶点法线将是共享该顶点的相邻面的面法线的归一化和。
如果您不喜欢three.js的方式,您唯一的选择就是自己修改顶点法线。
three.js r.85