LOL模型與骨骼動作的匯入與匯出
1) [英雄聯盟遊戲安裝目錄\Game] 下有名為“HeroPak_client.zip” 的壓縮檔案,裡面的 [Data\Characters\英雄英文名稱] 目錄下就是英雄的面板(模型檔案),直接解壓出來。
2) 使用maya的RiotFileTranslator外掛匯入.skn檔案, 還可以匯入.anm動作檔案,(安裝方法請自行百度:maya外掛的安裝)
3) 設定好對應的材質貼圖
這樣就有了完整的模模型,材質,骨架和蒙皮資訊。
可以匯出fbx,就能直接匯入u3d裡面使用了。
該外掛也可以匯出skn格式的檔案,所以可以對模型修改後,替換lol的模型,我沒有試過,有興趣的可以試試。
下面是關於lol的檔案的結構資訊。
*.skn
int32 | 檔案型別標識,沒有副檔名時可以判斷檔案型別 | ||
int16 | Material數量 | ||
int16 | Obj數量(不知道什麼作用) | ||
char[28]*Material數量 | Material資料 | int[32] | 序號 |
char[64] | 名稱 | ||
int[32] | 開始的頂點位置 | ||
int[32] | 擁有的頂點數量 | ||
int[32] | 開始的頂點索引位置 | ||
int[32] | 擁有的頂點索引數量 | ||
int32 | 頂點索引數量 | ||
int32 | 頂點數量 | ||
int16*頂點索引數量 | 頂點索引,每3個頂點組成一個面 | ||
char[52]*頂點數量 | 頂點資料 | float*3 | 頂點位置: x,y,z |
char[4] | 4個骨骼索引,每個索引用一個 | ||
float*4 | 對應4個骨骼索引的權重 | ||
float*3 | 頂點的法線 | ||
float*2 | 頂點的UV座標 |
char[8] | 檔案型別標識,沒有副檔名時可以判斷檔案型別 | ||
int32 | Obj數量(不知道什麼作用) | ||
int32 | 意義不詳(不知道什麼作用) | ||
int32 | 骨骼數量 | ||
char[88]*骨骼數量 | 骨骼資料 | char[32] | 骨骼名稱 |
int32 | 父級骨骼的索引 | ||
float | 縮放 | ||
float[3][4] | 4×4變換矩陣的前3行資料,最後一行為0,0,0,1 |
char[8] | 檔案型別標識,沒有副檔名時可以判斷檔案型別 | ||||
int32 | 格式版本 | ||||
int32 | 意義不詳(不知道什麼作用) | ||||
uint32 | 骨骼數量 | ||||
uint32 | 動畫幀數 | ||||
uint32 | 動畫幀頻(fps) | ||||
(char[36]+char[28]*動畫幀數)*骨骼數量 | 骨骼資料 | char[32] | 骨骼名稱 | ||
int32 | 型別(2:根骨骼,0:普通骨骼) | ||||
char[28]*動畫幀數 | 動畫幀資料 | float | 四元數的x | ||
float | 四元數的y | ||||
float | 四元數的z | ||||
float | 四元數的w | ||||
float | 位置x | ||||
float | 位置y | ||||
float | 位置z |