如何处理来自同一来源的多个输入的多列表

时间:2014-02-05 12:24:26

标签: collada

我在“Newtek LightWave CORE v1.0”的Collada文件中找到了以下数据:

<polylist count="2" material="side-zenith_1">
    <input offset="0" semantic="VERTEX" source="#z1-ext_01_vertices"/>
    <input offset="1" semantic="TEXCOORD" source="#side-zenith" set="0"/>
    <input offset="2" semantic="TEXCOORD" source="#side-zenith" set="1"/>
    <input offset="3" semantic="TEXCOORD" source="#side-zenith" set="2"/>
    <input offset="4" semantic="TEXCOORD" source="#side-zenith" set="3"/>
    <vcount>281 24 </vcount>
    <p>4758 1 1 1 1 4759 ... 4857 279 279 279 279 </p>
</polylist>

此数据的问题在于它对所有TEXCOORD输入使用相同的源。我想知道这究竟意味着什么。那么在导入过程中如何处理这种情况呢?不幸的是,Collada 1.4.1规范没有记录这种情况。

  • 这4种不同的UV地图恰好使用相同的UV坐标吗?这有意义吗?如果就是这样,那么我在哪里可以找到4个UV地图的ID(名称)?
  • 它只是一个包含4个部分的单个UV地图吗?那么它可以被视为4个部分输入?然后我可以将UV地图命名为“side-zenith”,并将4个输入数据收集到这个单一的UV地图中......
  • 或者是这个错误的数据,应该报告为违规?

此问题与Blender中的Bug有关:https://developer.blender.org/T38482

1 个答案:

答案 0 :(得分:0)

thread有一些与您的问题相关的答案。

既然你提到了Blender而我正在与Blender合作,当我自己导出Collada文件时,我会更多地分享我对Blender和Collada的体验。

  

我解释所有这些TEXCOORD输入的方式是你有4套   适用于您的网格的UV,但因为它们使用相同的来源   只是冗余映射。它们可能定义在你的某个地方   创作工具(映射 - 即)。

Blender所做的是它在UV地图中管理多组UV数据。

Multiple UV maps

我有两张紫外线地图,我甚至都不知道我已经拍了一张。

Remove UV map

有关管理Blender UV地图的更多信息,请访问here

删除UV地图后,我从Blender导出的Collada不再有多个UV贴图。所以现在只有一个TEXCOORD集。如果有帮助,可以将多个TEXCOORD输入视为多组UV贴图。