2011-11-03 25 views
2

我創建了我自己的蒙皮網狀裝載機。它工作正常,但我的問題是我不知道如何變換(縮放&旋轉)蒙皮網格,以便將變換「​​烘烤」到頂點上。如果它只是一個幾何圖形,轉換頂點是一塊蛋糕,但現在涉及到蒙皮信息,如果我做一個比例尺,我的網格會全部拉伸。我知道我也需要改變我的皮膚數據,但是哪些部分?所有的綁定姿勢矩陣?逆綁定姿勢矩陣?我似乎無法理解如何去做這件事。如何在網格加載和處理過程中變換蒙皮網格?

我的實現是在C#& OpenTK和我特別加載從Blender 2.6導出的Skinned Collada文件。

在此先感謝。

回答

0

我不知道C#和OpenTK,但我試圖幫助理論方面。頂點由加權全局變換矩陣變換。要形成全局變換,需要連接每個關節的局部變換。要創建局部變換,您需要連接局部變換,旋轉和縮放。重量會來自關節。所以我認爲你需要對綁定姿勢進行聯合局部旋轉/平移/縮放,然後操作這些局部矩陣並將它們形成爲全局矩陣。之後,將權重應用於全局變換,然後變換頂點。

以下鏈接可能與您的問題類似。 COLLADA: Inverse bind pose in the wrong space?

我創建了這個collada文件播放器,但是使用C++。 http://www.youtube.com/watch?v=bXBfVl-msYw