7

我使用记事本++来查看FBX模型的数据结构,但我在理解它时遇到了一些问题。这是位于 (0,0,0) 的立方体(side = 10)的一些信息,谁能告诉我这些成员是什么意思?谢谢!

Vertices: *24 {
a: -5,-5,0,5,-5,0,-5,5,0,5,5,0,-5,-5,10,5,-5,10,-5,5,10,5,5,10
} 
PolygonVertexIndex: *36 {
a: 0,2,-4,3,1,-1,4,5,-8,7,6,-5,0,1,-6,5,4,-1,1,3,-8,7,5,-2,3,2,-7,6,7,-4,2,0,-5,4,6,-3
} 
Edges: *18 {
a: 0,1,2,3,4,6,7,8,9,10,13,14,16,19,20,25,26,32
} 
Normals: *108 {
a: 0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,-        1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-   1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0
} 

UV: *24 {
a: 0,0,1,0,0,1,1,1,0,0,1,0,0,1,1,1,0,0,1,0,0,1,1,1
} 
UVIndex: *36 {
a: 9,11,10,10,8,9,8,9,11,11,10,8,4,5,7,7,6,4,0,1,3,3,2,0,4,5,7,7,6,4,0,1,3,3,2,0
} 
4

3 回答 3

11

我认为这些假设是相当合理的,尽管我不确定为什么 PolygonVertexIndex 数组包含负值(似乎每个三角形的每三个索引都是负数)。也许表示多边形的最后一个索引,因此您可以拥有不必是三角形的多边形。

具有负值的那个确实代表最后一个顶点。

要找出女巫顶点,您必须将其取反并从该值中减去 1。

例如,-4表示3 ((-4)*(-1) - 1)

于 2012-04-13T16:11:57.130 回答
10

即使不了解 FBX 格式,您至少可以做出一些非常合理的猜测:

  1. 下面的 24 个值Vertices是立方体的 8 个顶点(其中 3 个值代表一个顶点)。

  2. 下面的 36 个值PolygonVertexIndex是构成立方体 6 个面的 12 个三角形的顶点索引(参考 中的值Vertices)。

  3. 下面的 24 个值Edges是立方体 12 条边的顶点索引。

  4. 下面的 108 个值Normals是 12 个三角形的每个三角形角的 36 个法线(其中 3 个值代表一个法线向量)。

  5. 下面的 24 个值UV是 12 个纹理坐标(其中 2 个值代表一个纹理坐标对)。

  6. 下面的 36 个值UVIndex是立方体 36 个三角形角的纹理坐标索引(参考 中的值UV)。

我认为这些假设是相当合理的,尽管我不确定为什么PolygonVertexIndex数组包含负值(似乎每个三角形的每三个索引都是负数)。也许表示多边形的最后一个索引,因此您可以拥有不必是三角形的多边形。

于 2011-10-12T12:24:59.780 回答
9

负顶点索引表示多边形的结束。您可以按位否定负索引,以获得正索引。

在 c 这将是

posIndex = ~negIndex;
于 2012-04-23T21:28:25.937 回答