波前OBJ文件是否可以具有每个对象(或每个组)的顶点



我有一个对象被分解成许多小部分。我可以维护一个顶点的全局列表,并找出属于每个小部分的顶点,但如果我可以相对索引,在我的用例中会更容易。

IE,我指定零件0有8个顶点,零件0的面0使用该零件的顶点0、3、4

有没有办法在Wavefront OBJ文件中做到这一点?目前还不清楚"组"one_answers"对象"是如何工作的。

例如,以下内容合法吗?

o myObj1
v 3159.000000 203.000000 1959.000000 1.000000
v 3161.000000 203.000000 1959.000000 1.000000
v 3161.000000 203.000000 1961.000000 1.000000
v 3159.000000 203.000000 1961.000000 1.000000
v 3159.000000 205.000000 1959.000000 1.000000
v 3161.000000 205.000000 1959.000000 1.000000
v 3161.000000 205.000000 1961.000000 1.000000
v 3159.000000 205.000000 1961.000000 1.000000
f 1 4 5
f 4 5 8
f 2 3 6
f 3 6 7
f 1 2 3
f 1 3 4
f 5 6 7
f 5 7 8
f 1 2 5
f 2 5 6
f 4 3 8
f 3 8 7
o myObj2
v 3159.000000 203.000000 1961.000000 1.000000
v 3161.000000 203.000000 1961.000000 1.000000
v 3161.000000 203.000000 1963.000000 1.000000
v 3159.000000 203.000000 1963.000000 1.000000
v 3159.000000 205.000000 1961.000000 1.000000
v 3161.000000 205.000000 1961.000000 1.000000
v 3161.000000 205.000000 1963.000000 1.000000
v 3159.000000 205.000000 1963.000000 1.000000
f 1 4 5
f 4 5 8
f 2 3 6
f 3 6 7
f 1 2 3
f 1 3 4
f 5 6 7
f 5 7 8
f 1 2 5
f 2 5 6
f 4 3 8
f 3 8 7

等等。(当然,假设坐标就是坐标(

编辑:维基百科声明:

OBJ文件由于其列表结构,能够通过其绝对位置(1表示第一个定义的顶点,N表示第N个定义的节点(或通过其相对位置

所以。。。应该工作吗?然而,目前还不清楚这种格式会是什么样子。在任何情况下,它都无法在三维查看器中正常工作。

聚会有点晚:(

您可以使用维基百科引用中所述的相对顶点位置;它访问最新(而不是最后(定义的顶点。如果您用以下内容替换两个人脸列表:

f -8 -5 -4
f -5 -4 -1
f -7 -6 -3
f -6 -3 -2
f -8 -7 -6
f -8 -6 -5
f -4 -3 -2
f -4 -2 -1
f -8 -7 -4
f -7 -4 -3
f -5 -6 -1
f -6 -1 -2

它在三维查看器中显示两个多维数据集。因此,即使OBJ不将它们与对象或组相关联,它们也可以被访问;"本地";。

您也可以选择反向写入每个对象的顶点,因此第一个顶点(最后写入(可以称为-1,第二个可以称为-2,等等。

无论使用何种分组,顶点编号在单个OBJ文件中都是连续的。这意味着正顶点编号是绝对的,而不是以任何方式相对的,负顶点编号是相对于最后定义的顶点(但仍包括所有定义的顶点(。

Ie。顶点定义没有分组。

点("p"标记(可以(可能?(进行分组,但要渲染为实际点,而不是面的一部分。

tl;dr你能得到的最接近你尝试的是负指数,但它是否正确加载将取决于程序加载它

最新更新