【发布时间】:2018-01-24 20:52:31
【问题描述】:
我希望能够加载 OBJ 文件,包括顶点法线。 但是我很快遇到了一个问题,Blender 给我每张脸 1 个法线,我不明白如何将它链接到我的顶点。
这是 obj 文件:
# Blender v2.78 (sub 0) OBJ File: ''
# www.blender.org
o Cube
v 1.000000 -1.000000 -0.555273
v 1.000000 -1.000000 1.444727
v -1.000000 -1.000000 1.444726
v -1.000000 -1.000000 -0.555274
v 1.000000 1.000000 -0.555273
v 0.999999 1.000000 1.444727
v -1.000000 1.000000 1.444726
v -1.000000 1.000000 -0.555273
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn 1.0000 -0.0000 0.0000
vn 0.0000 -0.0000 1.0000
vn -1.0000 -0.0000 -0.0000
vn 0.0000 0.0000 -1.0000
s off
f 1//1 3//1 4//1
f 8//2 6//2 5//2
f 5//3 2//3 1//3
f 6//4 3//4 2//4
f 3//5 8//5 4//5
f 1//6 8//6 5//6
f 1//1 2//1 3//1
f 8//2 7//2 6//2
f 5//3 6//3 2//3
f 6//4 7//4 3//4
f 3//5 7//5 8//5
f 1//6 4//6 8//6
还有参数 The paramters to export to OBJ
Si 有一个立方体,有 6 个面、8 个顶点、12 个三角形和 6 个顶点法线。 如何在顶点和面之间建立链接。我认为每个顶点一个 VN 会更简单。在我在网上看到的例子中是这样的。
但是在这里我需要弄清楚如何在两者之间建立联系,所以我想我必须复制两个顶点,因为每个面的法线都会不同。
编辑:已解决,我误解了多边形的书写方式每一对,是一对顶点位置/顶点法线
【问题讨论】:
-
我不明白。如果您希望每个顶点具有唯一的法线,则必须为每个面创建一个唯一的顶点。所以你需要有 nFaces * 3 个顶点,每个顶点都有一个位置和法线。没有办法解决它。
-
您需要将此文件转换为适合您的应用程序的内存布局,并在必要时复制信息
-
@Rabbid76 好的,这是我错过的部分,尽管它应该显示顶点的顺序。所以我想当顶点从一种用途变为另一种用途时,我会复制顶点。非常感谢。