於是上星期便著手開發
以我上年開發的Flash Animation套件作藍本擴充
(由Flash 導出圖像及動畫資料, 再以OpenGL ES繪畫)
前幾天終於完成
2D Avatar 最重要的是Draw Order
整個系統的設計也以Draw Order為中心
經過多番修改
最後決定將動畫資料及圖像資料分開
因為可以得到最大程度的彈性
將最底層的動畫稱作骨骼動畫可能有點誤導
因為"骨"只是一幅圖像, 一個2D Matrix Transform
而"骨"與"骨"沒有任何關連
系統特色:
- 以Flash製作動畫並導出
- 以骨骼動畫圖層次序決定Draw Order
- 沒有身體部件的限制, 身體的構造完全由Artist決定
- 可換不同Skin圖像花紋
- 可換不同膚色 (顏色可在程式內自由調試)
- 可換不同裝備
- 裝備可換不同顏色 (顏色可在程式內自由調試)
- 裝備圖像支援多圖層, 所以一個裝備圖像可轉換多層顏色, 如一雙眼睛可有不同顏色
- 裝備動畫與骨骼動畫以名字作配對
- 不同裝備圖像可共用相同的裝備動畫, 新增裝備時可用回舊的裝備動畫
- 骨骼動畫之外, 裝備擁有自己獨立的動畫, 兩者可以同時播放並擁有各自的週期, 例如步行動畫跟眨眼動畫
最方便是Artist可以設定整個Avatar系統
Programmer (是我) 將整套資料載入程式後
只需作轉換部件/顏色的code
就可控制整個Avatar
這系統概念上好像不複雜
但是確保整個流程正確及順暢, 真的需要花點工夫
