应用平滑阴影在三个js中渲染对象

时间:2019-07-16 09:00:56

标签: three.js normals shading

我尝试应用平滑阴影来渲染对象,以平滑(第一个图像)多面阴影(最后一个图像)。

我通过对所有相邻三角形的法线求和,然后对其进行归一化来计算我的顶点法线。对于某些区域,它看起来不错,但在其他区域,结果不正确。

例如,如下图所示,将字母“ R”(或其他带有大三角形的平面)包围起来,我感到有些奇怪。

Smoothed

Faceted

1 个答案:

答案 0 :(得分:0)

如果可以在Blender中打开模型并应用边缘拆分的mosifier。 ,可以给出很好的结果。同样在三个中,有geometry.computeFaceNormals()或geometry.computeVertexNormals()方法。查看这些文档...可能会有所帮助。