我導入FBX模型作爲XNA模型對象,並通過vertexbuffer閱讀來獲取三角形,指數,UV的保持,並把它放到我的自定義模型類中。問題是緩衝區只保存每個三角形的數據,而不是他們曾經在3dsmax中使用的四邊形數據。閱讀在XNA從FBX文件四邊形,或將一個三角多邊形網格成四邊形
我需要保留四邊形結構以使用網格。以下幾點是我相信我可以實現的不同方式,但我需要一些幫助才能完成。
我試過的一種方法是在三角形出現的順序中簡單地創建四邊形。這適用於具有正確的頂點/三角形順序的原始圖元,其中四邊形的每個三角形都依次排列,但編輯的網格具有阻礙流動的障礙順序。如果有人知道如何在導出之前重新排列頂點/三角形的方法,這仍然有效。
有沒有什麼方法可以讀取FBX文件(假如它作爲模型對象加載後,避免重寫單獨的模型管道)哪些三角形連接爲四邊形?
的 '編碼' 的方式。給定一個頂點/索引列表,相應地對它們進行排序,以使四元結構變得明顯。 3dsmax有一個'quadrify'按鈕,效果很好,但無法找到一個簡單的方法。編輯;對於這種方法,我的意思是,什麼是看三角形的無序結構,找到網的最佳「四」的版本,同樣在3DSMAX工具「quadrify」的最佳方式。
怎麼樣一個網格有幾千個三角形,或多或少隨機的頂點順序和三角形順序?即使四邊形位於通常不在複雜模型上的網格上,它們也可能具有混合三角網。 – jsmars
同樣的想法會起作用,它只會計算更多。爲了減少測試的數量,可以使用八叉樹等空間分區方案。唯一不適用的情況是當網格不共享頂點時 - 但是複製它們以形成三角形,即使是在具有共享邊的三角形上。 – Ani
頂點的位置並不重要(在網格上或其他位置)。請注意,我只在上述解決方案中處理頂點索引。 – Ani