要手動找出特定模型的 verts 位置並不難, 要通用於所有的模型就要整理好整體格式了! 追蹤這個模型格式可說很不容易! 它用了指標索引(offset pointer) 再索引到另一組索引, 然後再索引, 一共指向四五層之深! 有點像C++ 的 OOP Class呢!
由於模型本身去掉了 transform, 要乘上骨骼 transform 才能正確重現整個模型. 對於只有一個骨骼影響的 verts 是沒有問題了. 可是 shared weight 的 verts 就是不對於, 暫時仍然找不到原因所在!?
Tuesday, August 17, 2010
Tuesday, August 10, 2010
包工的日記 2
Sunday, August 08, 2010
一次包工的日記
近日有朋友要我包工一個 PS2 的遊戲的模型導入程序. 我看了一下格式, 與一般的 PS2 模型格式類同. 而且一直研究 PS2 的 Gantz 遊戲吸收了不少經驗. 於是接下了這工作, 期間是兩星期.
不用花太多的時間已找出了模型的基本資料, 是沒有 Face indices 的 tri-Strips 方式建模. 模型記錄的方式也有兩種, 沒有蒙皮的 和 包含 骨骼索引, weight 的. 但導入後的模型可是怪怪的. 細心查正後相信我是沒有錯誤的! UV 也絕對正確. 而奇怪的模型都是包含 骨骼索引, weight 的那種! 相信是模型本身去掉了 transform, 所以要向 骨骼 架構入手了(以前在一些 X360 的遊戲也遇見過這樣的方式的).
不用花太多的時間已找出了模型的基本資料, 是沒有 Face indices 的 tri-Strips 方式建模. 模型記錄的方式也有兩種, 沒有蒙皮的 和 包含 骨骼索引, weight 的. 但導入後的模型可是怪怪的. 細心查正後相信我是沒有錯誤的! UV 也絕對正確. 而奇怪的模型都是包含 骨骼索引, weight 的那種! 相信是模型本身去掉了 transform, 所以要向 骨骼 架構入手了(以前在一些 X360 的遊戲也遇見過這樣的方式的).
Subscribe to:
Posts (Atom)