导入COLLADA文件 - 错误的顶点位置

时间:2014-12-01 17:40:55

标签: import polygon collada

我正在为我的游戏引擎进行.DAE导入。我一直在使用MilkShape导出的模型,它们工作正常:

现在我从互联网上下载了一个更大的多边形网格(带骨架),我试图导入那个。我只想要网格,现在不需要骨架/动画。

问题是,我的引擎输出不正确。

我不确定我做错了什么。这些结果会为某人敲响声吗?

顺便说一下,这是.DAE文件;

干杯, 罗布

1 个答案:

答案 0 :(得分:0)

啊,我明白了!

一个模型(Milkshape)使用了

部分;

0 0 0 1 1 1 2 3 2

其中:

0=<position index> 0=<normal_index> 0=<vertex index>
1=<position index> 1=<normal_index> 1=<vertex index>
2=<position index> 3=<normal_index> 2=<vertex index> 

但是另一个模型没有使用这个偏移量,并且在位置,法线和顶点上都使用了共享索引。

0 1 2 3

其中:

0 = <position index & normal_index & vertex index>
1 = <position index & normal_index & vertex index>
2 = <position index & normal_index & vertex index>'
3 = <position index & normal_index & vertex index>

你可以看到4个模特有:

<triangles material="Block" count="12">
    <input semantic="VERTEX" source="#Box01-geometry-vertices" offset="0" />
    <input semantic="NORMAL" source="#Box01-normals" offset="1" />
    <input semantic="TEXCOORD" source="#Box01-texcoords" offset="2" />
    <p>0 0 0 1 0 1 2 0 2 1 0 1 3 0 (...)</p> (vertexes X 3 numbers)
</triangles> 

另一个人:

<triangles material="Block" count="12">
    <input semantic="VERTEX" source="#Box01-geometry-vertices" />
    <input semantic="NORMAL" source="#Box01-normals" />
    <input semantic="TEXCOORD" source="#Box01-texcoords" />
    <p>0 1 2 3 4 5 6 7 7 8 9 10 11 (...)</p> (vertexes X 1 numbers)
</triangles>

所以,我所要做的就是删除硬编码的偏移并使用XML中的offets。