我最近陷入了DirectX,并且一直在与Anim8or搞混了一些,并且发现了几种可以导出到基于文本的模型的文件类型。我特别喜欢VTX文件。我已经学会了如何解析一些基本知识,但我显然错过了一些东西。.VTX文件格式?
它从一个.Faceset
开始,它立即(在同一行),后面是文件中的网格数。
对于每一个网格,有一个.Vertex
部和以该顺序一个.Index
部和第一对.Vertex
/.Index
部分是所述第一网格中,第二组的所述第二网格等如你所期望。
在文件的.Vertex
部分,每行有8个数字和一个未定义的行数(除非您要相信Anim8or在该部分之前放置的注释,但似乎并不是该部分的一部分)该文件的规格,只是Anim8or是善良的)。前3个数字对应于特定点的X,Y和Z坐标,稍后将用作顶点,其他5个我不知道。大多数时候,最后2个数字都是0,但我注意到这并非总是如此,通常是正确的。
接下来是匹配.Index
部分。本部分有4个数字。前3个是前面提到的顶点的参考数字,3点表示模型中的一个三角形。 0表示第一个提到的顶点,1表示下一个,等等,就像一个基于零的数组。第四个数字似乎总是-1,我无法弄清楚它的重要性,我不能承诺它总是-1。如果你不能说,我不太确定这种文件类型的任何东西。
我还选择忽略文件中的其他信息,因为我是新手而不想过分复杂。如每.Index
节过后是:
.Brdf
// Ambient color
0.431 0.431 0.431
// Diffuse color
0.431 0.431 0.431
// Specular color and exponent
1 1 1 2
// Kspecular = 0.5
// end of .Brdf
在我看来,这是关于刚刚描述的网格的表面。但是不需要布置网格,所以我暂时移过它。
转移到真正的问题......我可以加载VTX文件,当VTX文件中只有一个网格(意思是.FaceSet
是1)。我几乎可以成功加载具有多个网格的VTX文件,每个网格都已成功结构化,但与其他网格关系不正确。我在一个论坛中从Anim8or线程下载了一个AT-AT模型,它由344个网格组成,当我使用目前为止提到的规范加载文件时,它看起来像AT-AT爆炸似的这是一个如何制作它的图表(当在Anim8or中加载时,所有的部件都很接近并且类似于完全组装的AT-AT)。所有的棋子都是正确定向的并且具有相同的向上方向,但棋子之间有足够的空间。
有人知道如何正确读取VTX文件吗?或者知道一个网站可以解释其他数字的含义?
编辑:
文件扩展名.VTX被用于很多不同的东西,有很多因预期用途是什么不同的结构。 Valve,Visio,Anim8or和其他几个人使用VTX,我只对Anim8or导出的VTX文件和它使用的结构感兴趣。