新的骨骼動畫系統終於初具規模

2021-04-02 09:45:26 字數 695 閱讀 9238

連續糾纏了動畫師好幾天,終於基本實現預想的效果了,感覺真的很棒。下一步就是加到遊戲裡面了。

回想起來可能受wow影響太大了,也想做一樣的上下身動作組合,也想做類似的**多掛點,部件的區域性動作(就是象高科技盾那樣,自己帶乙個動作)加上更基礎的骨骼動畫幀間插值,自動過渡等等,這些都是原來的引擎不支援的,只能自己從頭寫。

算起來大約相當於乙個專職程式設計師近半年的工作量(實際上不只乙個人),包括設計文件,底層和中層編碼,編輯器,max匯出外掛程式,美術製作說明文件等。

其實從大約2~3週後底層就基本搞定了,就是能在自己的小demo裡看到動作插值和組合的效果,後來很長一段時間都在修改介面,就是怎樣給出一套邏輯簡單,又相對靈活的介面;哪些東西該由底層負責,哪些該由使用者自己負責。當然**優化上也花了一些功夫。

還有乙個難點就是怎樣盡量不對美術的製作習慣產生大的影響,比如原來設想是每乙個可能掛接到不同部位的部件(比如匕首可以拿在左手也可以拿在右手,也可以掛在腰上),都需要繫結在乙個特定的骨骼點上(這個骨骼點不屬於角色骨架),然後再由程式負責把這個骨骼點掛在不同的地方,但是美術習慣了**直接做在右手(因為以前的遊戲沒有現在的功能),後來考慮了一下還是由程式寫了乙個小工具來轉換這樣的mesh,就是把其中依賴於指定骨骼點的頂點改為依賴另乙個骨骼點。美術做的畢竟是藝術活,對他們在流程上的要求越少越好。

ps:雖然是人家早就已經實現的東西,做出來還是小有一點成就感的。但也沒什麼值得誇耀,做別人做不到的事情,才叫牛叉。

骨骼動畫換裝的例項

骨骼動畫換裝的例項轉乙個骨骼動畫換裝的例項你參考一下。一 我們直接在cocos2d x自帶的hellocpp的工程中新增 即可.我們在初始化中新增如下 cpp ccsize szwin ccdirector shareddirector getvisiblesize ccarmaturedatama...

基於canvas的骨骼動畫

最近學習到了一種關於canvas的骨骼動畫,聽這個名字就知道他和canvas之前的動畫不同,不知道你有沒有興趣了解一下呢?官方介紹說alloystick 是採用html5技術開發的乙個骨骼動畫引擎,可以用於html5動畫開發 html5遊戲開發 alloystick 主要由骨骼動畫引擎和骨骼動畫編輯...

WoW骨骼動畫的GLSL實現

使用指令將頂點的骨骼和權重資訊作為generic attribute屬性傳入給shader物件.glint indexbone glgetattriblocationarb m glprograme,bone glint indexweight glgetattriblocationarb m gl...