我使用notepad ++来查看FBX模型的数据结构,但我对它有一些问题。这是位于(0,0,0)的立方体(侧面= 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
}
答案 0 :(得分:9)
我认为这些假设非常合理,但我不确定 为什么PolygonVertexIndex数组包含负值(似乎 每个三角形的每个第三个索引都是负数)。也许是为了表明 多边形的最后一个索引,因此您可以拥有不需要的多边形 三角形。
具有负值的那个确实代表最后一个顶点。
要找出巫婆顶点,你必须否定它并从该值中减去1。
例如,-4
代表3 ((-4)*(-1) - 1)
答案 1 :(得分:8)
即使不了解FBX格式,您至少可以做出一些非常合理的猜测:
Vertices
下的24个值是多维数据集的8个顶点(3个值代表一个顶点)。
PolygonVertexIndex
下的36个值是构成立方体6个面的12个三角形的顶点索引(引用Vertices
的值)。
Edges
下的24个值是多维数据集12条边的顶点索引。
Normals
下的108个值是12个三角形中每个三角形角的36个法线(3个值代表一个法线向量)。
UV
下的24个值是12个纹理坐标(2个值代表一个纹理坐标对)。
UVIndex
下的36个值是多维数据集的36个三角形角的纹理坐标索引(引用UV
的值)。
我认为这些假设是相当合理的,但我不确定为什么PolygonVertexIndex
数组包含负值(似乎每个三角形的每个第三个索引都是负数)。也许是为了指示多边形的最后一个索引,因此你可以得到不必是三角形的多边形。
答案 2 :(得分:6)
负顶点索引表示多边形的结尾。你可以按位否定负指数,得到正数。
在c中,这将是
posIndex = ~negIndex;