2011-05-31 63 views
0

我正在寫一個python腳本,它可以將3D模型文件從一種格式分析到另一種格式,並在存儲頂點時發現問題。似乎同一個頂點在不同的面上可能有不同的UV。3D模型:使用不同UV的頂點

寫腳本時我假設所有的頂點都有獨特的UV,但現在看起來像是一個錯誤的假設。

是否有通用的方法來存儲面和頂點?

如果我有一個存儲UV,法線和座標的頂點字典(現在不會存儲任何其他東西)以及包含構成頂點列表的面的字典如果單個頂點在不同的面上具有不同的UV值,它將不起作用。

我一直在試圖避免存儲每個頂點(比如用頂點存儲頂點而不是引用頂點),但不能提出解決方法。

回答

1

如果頂點屬於兩個面之間的共享邊,則需要存儲兩個面的紋理座標。我通常將這些信息存儲在不在頂點級別的三角形級別。

+0

我很害怕這種情況,因爲我已經注意到有時候頂點會重複,並且具有相同的UV,所以我不想存儲太多的副本。無論如何,我已經改變了我的存儲方案,在每個網格中放置「面號」,然後存儲每個面的頂點信息。 – MxyL 2011-05-31 12:43:10