将顶点法线保存在 obj 文件中

Saving vertex normals in obj file

本文关键字:obj 文件 存在 保存 顶点      更新时间:2023-10-16

我是编程图形的新手,我必须在大学的一个项目中以3D形式显示人脸。对于闪电和阴影之类的东西,我需要顶点法线,由于某些原因,它们在我正在使用的几个对象文件中丢失。我已经在谷歌上搜索这个话题好几天了,所以你们(几乎)是我最后的希望:有没有一个工具,我基本上只是把我的obj文件放进去,它计算缺失的法线并将它们保存在文件中?我知道我可以自己计算法线,但如果不需要,它会节省很多时间。非常感谢任何帮助!

好吧,

如果您已经在加载 obj 文件并解析它,您不妨同时计算法线。如果没有顶点法线,只需做一点交叉(AB,BC)。规范化()并存储每个三角形(或四边形)。如果你想要每个顶点的法线,你可以平均一个顶点上的所有法线,例如,如果一个顶点是 5 个三角形的一部分,将 5 个法线添加到该顶点,然后除以 5,这样你就得到了每个顶点的法线。可能需要额外的中间数据结构,但应该足够简单。

如果你被允许使用库,ASSIMP是我用来将各种文件格式解析为统一格式的库。他们可能会为你计算法线。但由于这是针对大学图形课的,您可能应该自己完成这项工作。