7

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
} 
4

3 に答える 3

11

PolygonVertexIndex 配列に負の値が含まれている理由はわかりませんが、これらの仮定は非常に合理的だと思います (各三角形の 3 つおきのインデックスが負のようです)。おそらくポリゴンの最後のインデックスを示すため、三角形である必要のないポリゴンを持つことができます。

負の値を持つものは、実際には最後の頂点を表します。

これが魔女の頂点かどうかを調べるには、それを否定し、その値から 1 を引く必要があります。

たとえば-43 ((-4)*(-1) - 1)

于 2012-04-13T16:11:57.130 に答える
10

FBX形式の知識がなくても、少なくともいくつかの非常に合理的な推測を行うことができます。

  1. 下の24の値Verticesは、立方体の8つの頂点です(3つの値は1つの頂点を表します)。

  2. 下の36の値は、立方体の6つの面を構成する12の三角形PolygonVertexIndexの頂点インデックス(からの値を参照)です。Vertices

  3. 下の24の値Edgesは、立方体の12のエッジの頂点インデックスです。

  4. 下の108の値Normalsは、12個の三角形の各三角形の角の36個の法線です(3個の値は1つの法線ベクトルを表します)。

  5. 下の24個の値UVは12個のテクスチャ座標です(2個の値は1つのテクスチャ座標ペアを表します)。

  6. 下の36の値は、立方体の36の三角形の角のUVIndexテクスチャ座標インデックス(からの値を参照)です。UV

PolygonVertexIndex配列に負の値が含まれている理由はわかりませんが、これらの仮定は非常に合理的だと思います(各三角形の3つおきのインデックスが負のようです)。ポリゴンの最後のインデックスを示すために、三角形である必要のないポリゴンを作成することもできます。

于 2011-10-12T12:24:59.780 に答える
9

負の頂点インデックスは、ポリゴンの終点を示します。負のインデックスをビットごとに否定して、正のインデックスを取得できます。

cでは、これは

posIndex = ~negIndex;
于 2012-04-23T21:28:25.937 に答える