【发布时间】:2020-06-08 14:26:08
【问题描述】:
我有一个物体被分成许多小部分。我可以维护一个全局顶点列表并找出属于每个小部分的顶点,但如果我可以相对索引,在我的用例中会更容易。
IE,我指定part 0有8个顶点,part 0的face 0使用那个part的顶点0、3、4。
有没有办法在 Wavefront OBJ 文件中执行此操作?组和对象的工作原理有点不清楚。
例如,以下是否合法?
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 个定义的顶点),或通过它们的相对位置(-1 表示最新定义的顶点)。但是,并不是所有的软件都支持后一种方式,相反,有些软件天生就只写后一种形式(由于方便追加元素而无需重新计算顶点偏移等),导致偶尔出现不兼容。
所以这...应该有效吗?然而,目前还不清楚格式会是什么样子。在任何情况下,它都无法在 3D Viewer 中正常工作。
【问题讨论】:
标签: wavefront