一種基于配置的二維動畫生成方法
【專利摘要】本發(fā)明一種基于配置的二維動畫生成方法,是二維到二維的動畫控制,節(jié)點連接后就是二維骨架,且直接存儲節(jié)點,骨骼的連接變得比三維的骨架連接更簡單,更高效;同時由于皮膚直接與節(jié)點綁定,可以很容易與不同骨架綁定;而本發(fā)明將骨架、皮膚和動作分別存放,具有更強的復用性,即從骨架到動作復用能力更強;本發(fā)明采用的節(jié)點、骨架、動作及圖片附著的存儲結(jié)構(gòu)與傳統(tǒng)技術(shù)不同,具有更高的存儲效率。
【專利說明】—種基于配置的二維動畫生成方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于配置的二維動畫生成方法。
【背景技術(shù)】
[0002]在骨骼動畫中,動畫人物由三個部分來表示:一個部分是形成層次的一系列骨骼,即骨架;一個部分是與骨骼對應的動作參數(shù);最后一部分是蒙在骨架上的皮膚。通過對骨架進行動畫模擬,再利用骨骼控制皮膚就實現(xiàn)了角色動畫。
[0003]目前傳統(tǒng)的做法是采用三維骨架進行二維動畫設置,為了實現(xiàn)二維動畫效果,需要進行從三維到二維的轉(zhuǎn)換,算法效率比較低,同時在將二維骨架綁定到三維過程中會產(chǎn)生問題。并且,傳統(tǒng)技術(shù)中骨架與動作是捆綁在一起無法分離的,復用性差。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種基于配置的二維動畫生成方法,實現(xiàn)二維到二維的動畫控制,不需要進行從三維到二維的轉(zhuǎn)換,算法效率高,具有更強的復用性和存儲效率。
[0005]一種基于配置的二維動畫生成方法,包括如下步驟:
[0006]步驟1、動畫生成前的配置工作:
[0007]步驟11、創(chuàng)建節(jié)點關(guān)系配置文件:
[0008]節(jié)點關(guān)系配置文件用于設定骨骼搭建順序,構(gòu)造二維骨架,所述的節(jié)點關(guān)系配置文件結(jié)構(gòu)是:[子節(jié)點編號,父節(jié)點編號],用于記錄所有節(jié)點之間的從屬關(guān)系,通過該節(jié)點之間的從屬關(guān)系,以子節(jié)點繼承父節(jié)點的動作來實現(xiàn)父子節(jié)點的動畫聯(lián)動效果;具有同樣結(jié)構(gòu)的角色可以共用一個節(jié)點關(guān)系配置文件,一個節(jié)點關(guān)系配置文件可復用于多個角色中;
[0009]步驟12、創(chuàng)建節(jié)點配置文件:
[0010]節(jié)點配置文件結(jié)構(gòu)是[節(jié)點編號,節(jié)點坐標],創(chuàng)建一個節(jié)點就是增加一個節(jié)點編號,節(jié)點配置文件配置了對應的節(jié)點關(guān)系骨架的尺寸,該多個節(jié)點配置文件可共享一個節(jié)點關(guān)系配置文件;
[0011]步驟13、創(chuàng)建角色配置文件:
[0012]所述的角色配置是將一張圖片映射于一個節(jié)點上,該角色配置文件結(jié)構(gòu)為:[節(jié)點編號,圖片路徑+名稱],通過更換角色配置文件,可實現(xiàn)人物換裝,一個角色可使用一套節(jié)點關(guān)系配置文件,采用多套節(jié)點配置文件對應多個角色配置文件;
[0013]步驟14、創(chuàng)建動畫配置文件:
[0014]節(jié)點的動作由動畫配置文件配置,圖片通過角色配置文件附著于節(jié)點,從而跟隨節(jié)點而產(chǎn)生動畫,動畫配置文件記錄每個節(jié)點的動畫序列,以動畫參數(shù)來表示,通過該動畫序列引導綁定于該節(jié)點的圖片產(chǎn)生動畫效果,圖片的子節(jié)點會繼承父節(jié)點的動作,從而產(chǎn)生聯(lián)動效果;所述的動畫配置文件結(jié)構(gòu)為:[節(jié)點編號,動畫類別,動畫參數(shù)],其中動畫類別包含:旋轉(zhuǎn)、平移、縮放三大類;動畫參數(shù)指的是旋轉(zhuǎn)參數(shù)集、平移參數(shù)集、縮放參數(shù)集,通過設置節(jié)點的動畫參數(shù)從而實現(xiàn)節(jié)點附著的圖片的動畫效果;動畫參數(shù)配置與骨骼節(jié)點相對應,配置于動畫配置文件;角色對應的皮膚也與骨骼節(jié)點相對應,配置于角色配置文件;一種動畫配置可應用于多個角色;
[0015]步驟15、創(chuàng)建由動作文件組成的動作庫,通過動作文件將用戶配置的動作參數(shù)附著于節(jié)點之上,實現(xiàn)動畫效果,每個動作文件可以附著于不同的節(jié)點之上,所述的動作文件結(jié)構(gòu)為:[節(jié)點編號,動作類型,動作參數(shù)列表],動作類型包括:平移、旋轉(zhuǎn)、縮放、翻轉(zhuǎn);
[0016]步驟16、創(chuàng)建場景配置文件:
[0017]所述的場景配置文件結(jié)構(gòu)為:[動畫配置文件,動畫播放參數(shù)],所述的動畫播放參數(shù)包括動畫片段的播放次數(shù)和播放長度、動畫片段的放大與縮小、動畫片段的平移的參數(shù),調(diào)用不同角色的動畫配置文件,然后在場景配置文件中配置背景和動畫播放參數(shù),構(gòu)造動畫場景;該場景配置文件可設置多個動畫播放參數(shù),從而實現(xiàn)整個動畫場景;由于在場景配置文件中記錄了場景各動畫片段的動畫播放參數(shù),通過調(diào)用該場景配置文件,可以播放基于該場景的動畫;
[0018]步驟17、創(chuàng)建由場景配置文件組成的場景庫,通過讀取場景配置文件,展現(xiàn)動畫效果;
[0019]步驟2、動畫生成工作:調(diào)用配置好的角色參數(shù)配置文件,包括節(jié)點關(guān)系配置文件、節(jié)點配置文件和角色配置文件;調(diào)用配置好的動畫參數(shù)配置文件,包括節(jié)點關(guān)系配置文件、節(jié)點配置文件、角色配置文件和動畫配置文件;生成動畫。
[0020]本發(fā)明一種基于配置的二維動畫生成方法,是二維到二維的動畫控制,節(jié)點連接后就是二維骨架,且直接存儲節(jié)點,骨骼的連接變得比三維的骨架連接更簡單,更高效;同時由于皮膚直接與節(jié)點綁定,可以很容易與不同骨架綁定;而本發(fā)明將骨架、皮膚和動作分別存放,具有更強的復用性,即從骨架到動作復用能力更強。本發(fā)明采用的節(jié)點、骨架、動作及圖片附著的存儲結(jié)構(gòu)與傳統(tǒng)技術(shù)不同,具有更高的存儲效率。
【專利附圖】
【附圖說明】
[0021]圖1為本發(fā)明的配置工作流程圖;
[0022]圖2為本發(fā)明的生成動畫流程圖。
[0023]以下結(jié)合附圖和具體實施例對本發(fā)明作進一步詳述。
【具體實施方式】
[0024]如圖1、2所示,本發(fā)明一種基于配置的二維動畫生成方法,具體包括如下步驟:
[0025]步驟1、動畫生成前的配置工作:
[0026]步驟11、創(chuàng)建節(jié)點關(guān)系配置文件:
[0027]用于設定骨骼搭建順序,構(gòu)造二維骨架,所述的節(jié)點關(guān)系配置文件結(jié)構(gòu)是:[子節(jié)點編號,父節(jié)點編號],用于記錄所有節(jié)點之間的從屬關(guān)系,通過該節(jié)點之間的從屬關(guān)系,以子節(jié)點繼承父節(jié)點的動作來實現(xiàn)父子節(jié)點的動畫聯(lián)動效果;具有同樣結(jié)構(gòu)的角色可以共用一個節(jié)點關(guān)系配置文件,一個節(jié)點關(guān)系配置文件可以復用于多個角色中,例如:所有的人物共用一個節(jié)點關(guān)系配置文件,所有的桌子共用一個節(jié)點關(guān)系配置文件,所有的毛毛蟲共用一個節(jié)點關(guān)系配置文件;[0028]節(jié)點關(guān)系配置文件結(jié)構(gòu)是如[子節(jié)點編號,父節(jié)點編號]所示的節(jié)點對,例如[001,002] [002,003]表示節(jié)點 001,002,003 順次連接;[001,002] [001,003]表示節(jié)點002,003有相同的父節(jié)點001 ;另外,由于人體骨骼結(jié)構(gòu)相同,關(guān)節(jié)數(shù)目相同,關(guān)節(jié)的聯(lián)結(jié)方式相同,每一個關(guān)節(jié)對應一個節(jié)點,因此節(jié)點的聯(lián)結(jié)方式相同,所有“人”可以共用一個節(jié)點關(guān)系配置文件。例如:張飛的手臂和胳膊關(guān)系的節(jié)點關(guān)系為[001,002] [002,003],李逵的手臂和胳膊的節(jié)點關(guān)系為[001,002] [002,003],由于所有的人的骨骼結(jié)構(gòu)相同,關(guān)節(jié)點的連接方式相同,本節(jié)點關(guān)系配置與節(jié)點坐標無關(guān),因此此處張飛與李逵的節(jié)點關(guān)系配置是相同的;
[0029]步驟12、創(chuàng)建節(jié)點配置文件:
[0030]節(jié)點配置文件結(jié)構(gòu)是[節(jié)點編號,節(jié)點坐標],創(chuàng)建一個節(jié)點就是增加一個節(jié)點編號,例如,原節(jié)點配置文件有2個節(jié)點[001,[100, 120]] [002, [130,150]],增加一個節(jié)點,則節(jié)點文件內(nèi)容修改為[001,[100, 120]] [002, [130,150]] [003,[200, 250]];節(jié)點配置文件配置了對應的節(jié)點關(guān)系骨架的尺寸,該多個節(jié)點配置文件可共享一個節(jié)點關(guān)系配置文件;
[0031]步驟13、創(chuàng)建角色配置文件:
[0032]所述的角色配置是將一張圖片映射于一個節(jié)點上,該角色配置文件結(jié)構(gòu)為:[節(jié)點編號,圖片路徑+名稱],通過更換角色配置文件,可以輕松實現(xiàn)人物換裝,一個角色可以使用一個節(jié)點關(guān)系配置文件,采用多套節(jié)點配置文件對應多個角色配置文件,從而實現(xiàn)多套服裝多個效果的展示;
[0033]步驟14、創(chuàng)建動畫配置文件:
[0034]節(jié)點的動作由動畫配置文件配置,圖片通過角色配置文件附著于節(jié)點,從而跟隨節(jié)點而產(chǎn)生動畫,動畫配置文件記錄每個節(jié)點的動畫序列,以動畫參數(shù)來表示,例如旋轉(zhuǎn)、平移、縮放及翻轉(zhuǎn)等,通過該動畫序列引導綁定于該節(jié)點的圖片產(chǎn)生動畫效果,圖片的子節(jié)點會繼承父節(jié)點的動作,從而產(chǎn)生聯(lián)動效果;所述的動畫配置文件結(jié)構(gòu)為:[節(jié)點編號,動畫類別,動畫參數(shù)],其中動畫類別包含:旋轉(zhuǎn)、平移、縮放三個大類;動畫參數(shù)指的是旋轉(zhuǎn)參數(shù)集、平移參數(shù)集、縮放參數(shù)集,通過設置節(jié)點的動畫參數(shù)從而實現(xiàn)節(jié)點附著的圖片的動畫效果;動畫參數(shù)配置與骨骼節(jié)點相對應,配置于動畫配置文件;角色對應的皮膚也與骨骼節(jié)點相對應,配置于角色配置文件;因此動畫獨立于皮膚,一種動畫配置可以應用于多個角色;
[0035]步驟15、創(chuàng)建由動作文件組成的動作庫,通過動作文件將用戶配置的動作參數(shù)附著于節(jié)點之上,實現(xiàn)動畫效果,每個動作文件可以附著于不同的節(jié)點之上,從而實現(xiàn)動作的復用,所述的動作文件結(jié)構(gòu)為:[節(jié)點編號,動作類型,動作參數(shù)列表],動作類型包括:平移、旋轉(zhuǎn)、縮放、翻轉(zhuǎn),例如:
[0036][001, Move, [Type, StartFrame, EndFrame, DelayAfterEndFrame, MoveTimeInFrame, MoveSpeedInPixeI]]
[0037][002,Flip, [Type, FrameIndexToPlay, FlipType, FlipCoeff]]
[0038][003, Rotate, [Type, EndFrame, RepeatTimes,
[0039]DelayAfterEndFrame, RepeatTimes,
[0040]RotateAngleInDegreeEachFrame]][0041][004, Scale, [Type, EndFrame, DelayAfterEndFrame,
[0042]ScaleFrom, ScaleTo, IgnoreScaleFrom]];不同動作有不同的參數(shù)列表,例如:
[0043]平移
[0044](Type, StartFrame, EndFrame, RepeatTimes, DelayAfterEndFrame, MoveTimelnFrame, MoveSpeedInPixeI)
[0045]旋轉(zhuǎn)(Type,StartFrame, EndFrame, RepeatTimes,
[0046]DelayAfterEndFrame, RotateAngleInDegreeEachFrame)
[0047]縮放(Type,StartFrame, EndFrame, DelayAfterEndFrame,
[0048]RepeatTimes, ScaleFrom, ScaleTo, IgnoreScaleFrom)
[0049]翻轉(zhuǎn)(Type,FrameIndexToPlay, FlipType, FlipCoeff );
[0050]步驟16、創(chuàng)建場景配置文件:
[0051]所述的場景配置文件結(jié)構(gòu)為:[動畫配置文件,動畫播放參數(shù)],所述的動畫播放參數(shù)包括動畫片段的播放次數(shù)和播放長度、動畫片段的放大與縮小、動畫片段的平移等參數(shù),調(diào)用不同角色的動畫配置文件,然后在場景配置文件中配置背景、配置動畫播放參數(shù),實現(xiàn)動畫場景的構(gòu)造;該場景配置文件可設置多個動畫播放參數(shù),從而實現(xiàn)整個動畫場景;由于在場景配置文件中記錄了場景各動畫片段的動畫播放參數(shù),通過調(diào)用該場景配置文件,可以播放基于該場景的動畫;
[0052]步驟17、創(chuàng)建由場景配置文件組成的場景庫,通過讀取場景配置文件,展現(xiàn)動畫效果;
[0053]步驟2、動畫生成工作:
[0054]步驟21、程序啟動;
[0055]步驟22、根據(jù)用戶選擇,確定是否進入管理資源庫,若是,則進入系統(tǒng)進行資源庫的管理和維護;
[0056]根據(jù)用戶選擇,確定是否進入骨骼參數(shù)配置,若是,則進入系統(tǒng)進行骨骼參數(shù)配置;
[0057]根據(jù)用戶選擇,確定是否進入角色參數(shù)配置,若是,則進入系統(tǒng),將角色圖片綁定于骨骼,配置角色文件;
[0058]步驟23、調(diào)用配置好的角色參數(shù)配置文件,包括節(jié)點關(guān)系配置文件、節(jié)點配置文件和角色配置文件;
[0059]步驟24、根據(jù)用戶選擇,確定是否配置動畫參數(shù),若是,則進入系統(tǒng),配置動畫參數(shù)文件;
[0060]步驟25、調(diào)用配置好的動畫參數(shù)配置文件,包括節(jié)點關(guān)系配置文件、節(jié)點配置文件、角色配置文件和動畫配置文件;
[0061]步驟26、生成動畫。
[0062]本發(fā)明采用的存儲方式是:節(jié)點關(guān)系配置與節(jié)點坐標分離,節(jié)點關(guān)系配置文件只負責配置節(jié)點的父子關(guān)系,即配置骨架的構(gòu)造,并不配置骨架的大小比例,骨架的具體尺寸由節(jié)點配置文件配置,這樣當修改骨架尺寸的時候,不需要修改骨架節(jié)點間的父子關(guān)系,可以很容易調(diào)整骨架;同時同一副骨架的節(jié)點關(guān)系配置文件,可以應用在多個節(jié)點配置文件中,使得節(jié)點關(guān)系配置文件可以多次復用。例如,所有人的骨架的節(jié)點關(guān)系是一樣的,因此所有的人共用一副節(jié)點關(guān)系配置文件,但是每個人的骨架大小不一樣,這樣只需配置每個人各自的節(jié)點配置文件即可。
[0063]以上所述,僅是本發(fā)明較佳實施例而已,并非對本發(fā)明的技術(shù)范圍作任何限制,故凡是依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何細微修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
【權(quán)利要求】
1.一種基于配置的二維動畫生成方法,其特征在于包括如下步驟: 步驟1、動畫生成前的配置工作: 步驟11、創(chuàng)建節(jié)點關(guān)系配置文件: 節(jié)點關(guān)系配置文件用于設定骨骼搭建順序,構(gòu)造二維骨架,所述的節(jié)點關(guān)系配置文件結(jié)構(gòu)是:[子節(jié)點編號,父節(jié)點編號],用于記錄所有節(jié)點之間的從屬關(guān)系,通過該節(jié)點之間的從屬關(guān)系,以子節(jié)點繼承父節(jié)點的動作來實現(xiàn)父子節(jié)點的動畫聯(lián)動效果;具有同樣結(jié)構(gòu)的角色可以共用一個節(jié)點關(guān)系配置文件,一個節(jié)點關(guān)系配置文件可復用于多個角色中;步驟12、創(chuàng)建節(jié)點配置文件: 節(jié)點配置文件結(jié)構(gòu)是[節(jié)點編號,節(jié)點坐標],創(chuàng)建一個節(jié)點就是增加一個節(jié)點編號,節(jié)點配置文件配置了對應的節(jié)點關(guān)系骨架的尺寸,該多個節(jié)點配置文件可共享一個節(jié)點關(guān)系配置文件; 步驟13、創(chuàng)建角色配置文件: 所述的角色配置是將一張圖片映射于一個節(jié)點上,該角色配置文件結(jié)構(gòu)為:[節(jié)點編號,圖片路徑+名稱],通過更換角色配置文件,可實現(xiàn)人物換裝,一個角色可使用一套節(jié)點關(guān)系配置文件,采用多套節(jié)點配置文件對應多個角色配置文件; 步驟14、創(chuàng)建動畫配置文件: 節(jié)點的動作由動畫配置文件配置,圖片通過角色配置文件附著于節(jié)點,從而跟隨節(jié)點而產(chǎn)生動畫,動畫配置文件記錄每個節(jié)點的動畫序列,以動畫參數(shù)來表示,通過該動畫序列引導綁定于該節(jié)點的圖片產(chǎn)生動畫效果,圖片的子節(jié)點會繼承父節(jié)點的動作,從而產(chǎn)生聯(lián)動效果;所述的動畫配置文件結(jié)構(gòu)為:[節(jié)點編號,動畫類別,動畫參數(shù)],其中動畫類別包含:旋轉(zhuǎn)、平移、縮放三大類;動畫參數(shù)指的是旋轉(zhuǎn)參數(shù)集、平移參數(shù)集、縮放參數(shù)集,通過設置節(jié)點的動畫參數(shù)從而實現(xiàn)節(jié)點附著的圖片的動畫效果;動畫參數(shù)配置與骨骼節(jié)點相對應,配置于動畫配置文件;角色對應的皮膚也與骨骼節(jié)點相對應,配置于角色配置文件;一種動畫配置可應用于多個角色; 步驟15、創(chuàng)建由動作文件組成的動作庫,通過動作文件將用戶配置的動作參數(shù)附著于節(jié)點之上,實現(xiàn)動畫效果,每個動作文件可以附著于不同的節(jié)點之上,所述的動作文件結(jié)構(gòu)為:[節(jié)點編號,動作類型,動作參數(shù)列表],動作類型包括:平移、旋轉(zhuǎn)、縮放、翻轉(zhuǎn); 步驟16、創(chuàng)建場景配置文件: 所述的場景配置文件結(jié)構(gòu)為:[動畫配置文件,動畫播放參數(shù)],所述的動畫播放參數(shù)包括動畫片段的播放次數(shù)和播放長度、動畫片段的放大與縮小、動畫片段的平移的參數(shù),調(diào)用不同角色的動畫配置文件,然后在場景配置文件中配置背景和動畫播放參數(shù),構(gòu)造動畫場景;該場景配置文件可設置多個動畫播放參數(shù),從而實現(xiàn)整個動畫場景;由于在場景配置文件中記錄了場景各動畫片段的動畫播放參數(shù),通過調(diào)用該場景配置文件,可以播放基于該場景的動畫; 步驟17、創(chuàng)建由場景配置文件組成的場景庫,通過讀取場景配置文件,展現(xiàn)動畫效果;步驟2、動畫生成工作:調(diào)用配置好的角色參數(shù)配置文件,包括節(jié)點關(guān)系配置文件、節(jié)點配置文件和角色配置文件;調(diào)用配置好的動畫參數(shù)配置文件,包括節(jié)點關(guān)系配置文件、節(jié)點配置文件、角色配置文件和動畫配置文件;生成動畫。
【文檔編號】G06T13/80GK103927779SQ201310752737
【公開日】2014年7月16日 申請日期:2013年12月30日 優(yōu)先權(quán)日:2013年12月30日
【發(fā)明者】洪欣 申請人:華僑大學