我在Three.js的JSON模型格式中有几个对象。它指定了顶点位置和面,有时是三角形,有时是四边形,有时有材质索引,有时没有。
然而,这些文件都没有指定顶点法线。
我想要一个算法,可以在一组网格面上计算出这些法线。我希望能够指定一个角度限制,超过这个限制就会显示折痕(法线不被相邻面共享)。
在自己编写代码之前,我想知道这个功能是否已经存在于Three.js或其他可用的地方。
我在Three.js的JSON模型格式中有几个对象。它指定了顶点位置和面,有时是三角形,有时是四边形,有时有材质索引,有时没有。
然而,这些文件都没有指定顶点法线。
我想要一个算法,可以在一组网格面上计算出这些法线。我希望能够指定一个角度限制,超过这个限制就会显示折痕(法线不被相邻面共享)。
在自己编写代码之前,我想知道这个功能是否已经存在于Three.js或其他可用的地方。
geometry.computeFaceNormals();
geometry.computeVertexNormals();
computeVertexNormals()
的实现,以达到我想要的效果。 - Drew Noakestrue
作为参数传递给computeVertexNormals
(表示将面积视为法线的权重)可以使其看起来不那么奇怪,但仍然缺少锐利的边缘,这对于至少这个网格来说是一个问题。 - Drew Noakes