專利名稱:一種計(jì)算機(jī)動(dòng)畫編輯方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)圖形處理方法,特別涉及一種采用計(jì)算機(jī)方便、快捷地制作動(dòng)畫的方法。
背景技術(shù):
所謂動(dòng)畫,是指利用人的視覺(jué)殘留特性使連續(xù)播放的靜態(tài)畫面相互銜接而形成的動(dòng)態(tài)效果。目前動(dòng)畫制作一般可分為三個(gè)階段第一階段為前期創(chuàng)作階段編劇提供一個(gè)故事的文字提要以及詳細(xì)的文學(xué)劇本,再由導(dǎo)演根據(jù)劇本設(shè)計(jì)出反映動(dòng)畫片大致概貌的各個(gè)片段,也即分鏡頭劇本。然后,對(duì)動(dòng)畫片中出現(xiàn)的各種角色的造型、動(dòng)作、色彩等進(jìn)行設(shè)計(jì),并根據(jù)分鏡頭劇本將場(chǎng)景的前景和背景統(tǒng)一考慮,設(shè)計(jì)出手稿圖以及相應(yīng)的對(duì)話和聲音。該階段更多地涉及到藝術(shù)創(chuàng)造的范疇,其目的是為下一階段的動(dòng)畫片制作提供創(chuàng)作依據(jù)。
第二階段為中期制作階段該階段的任務(wù)是完成原畫(也稱關(guān)鍵幀)和動(dòng)畫(也稱中間幀)的手工繪制,其中,關(guān)鍵幀一般表達(dá)某動(dòng)作的極限位置、一個(gè)角色的特征或其它重要內(nèi)容,中間幀是位于關(guān)鍵幀之間的過(guò)渡畫面,可能有若干張。
第三階段為后期制作階段該階段的任務(wù)是為中期完成的鉛筆畫稿上色,按一定順序?qū)⑺鼈兒铣傻讲噬尘吧?,并拍攝到電影膠片上或電視錄像帶上。當(dāng)加上配音和音樂(lè)效果后,整個(gè)動(dòng)畫片的制作過(guò)程即告完成。
隨著計(jì)算機(jī)技術(shù)的發(fā)展,傳統(tǒng)卡通動(dòng)畫的制作正在越來(lái)越地采用計(jì)算機(jī)圖形處理技術(shù)來(lái)實(shí)現(xiàn),但是目前一般主要應(yīng)用于動(dòng)畫片的后期制作階段,即完成鉛筆畫稿上色、背景合成及連續(xù)畫面生成等步驟,對(duì)于工作量最大、復(fù)雜程度最高的中期制作階段,這種計(jì)算機(jī)動(dòng)畫系統(tǒng)仍然需要畫師純手工地繪制原畫和動(dòng)畫,因此總體效率的提高非常有限。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種計(jì)算機(jī)動(dòng)畫編輯方法,其可以使創(chuàng)造人員從繁重的手工繪制畫稿工作中解脫出來(lái),并將中后期制作階段有機(jī)地融合在一起,從而大幅度提高了動(dòng)畫制作過(guò)程的工作效率。
本發(fā)明的上述目的通過(guò)以下技術(shù)方案實(shí)現(xiàn)一種計(jì)算機(jī)動(dòng)畫編輯方法,包含以下步驟在存儲(chǔ)單元內(nèi)預(yù)先存儲(chǔ)一組場(chǎng)景對(duì)象的數(shù)據(jù),每個(gè)所述場(chǎng)景對(duì)象的數(shù)據(jù)包含至少描述該場(chǎng)景對(duì)象的幾何形狀、坐標(biāo)位置、光學(xué)或聲音屬性其中之一的數(shù)據(jù)項(xiàng),并且每個(gè)所述場(chǎng)景對(duì)象與至少一種數(shù)據(jù)操作類型對(duì)應(yīng);計(jì)算處理單元從所述存儲(chǔ)單元中調(diào)用場(chǎng)景對(duì)象的數(shù)據(jù)并根據(jù)屬性設(shè)定值對(duì)相應(yīng)的數(shù)據(jù)項(xiàng)進(jìn)行處理以生成關(guān)鍵幀;用戶通過(guò)輸入單元設(shè)定場(chǎng)景對(duì)象在兩個(gè)相鄰關(guān)鍵幀之間的操作類型和參數(shù)設(shè)定值;根據(jù)作用于兩個(gè)相鄰所述關(guān)鍵幀之間所述場(chǎng)景對(duì)象的操作類型和參數(shù)設(shè)定值,計(jì)算處理單元對(duì)所述關(guān)鍵幀進(jìn)行相應(yīng)的數(shù)據(jù)操作以生成中間幀。
比較好的是,在上述計(jì)算機(jī)動(dòng)畫編輯方法中,進(jìn)一步包含下列步驟用戶通過(guò)輸入單元輸入欲修改的所述中間幀內(nèi)所述場(chǎng)景對(duì)象的屬性值和/或作用于所述場(chǎng)景對(duì)象的操作類型和參數(shù);計(jì)算處理單元根據(jù)用戶輸入的修改值對(duì)所述場(chǎng)景對(duì)象相應(yīng)的數(shù)據(jù)項(xiàng)進(jìn)行處理和/或根據(jù)修改值對(duì)所述中間幀進(jìn)行相應(yīng)的數(shù)據(jù)操作以形成新的中間幀。
比較好的是,在上述計(jì)算機(jī)動(dòng)畫編輯方法中,通過(guò)下列方式指令計(jì)算處理單元調(diào)用相應(yīng)的場(chǎng)景對(duì)象在顯示單元的特定區(qū)域內(nèi)顯示用于標(biāo)識(shí)所述場(chǎng)景對(duì)象的符號(hào);用戶通過(guò)鼠標(biāo)將選定的符號(hào)從所述特定區(qū)域內(nèi)拖放至所述關(guān)鍵幀編輯區(qū)域所需的位置。
比較好的是,在上述計(jì)算機(jī)動(dòng)畫編輯方法中,所述設(shè)定值由用戶按照下列方式輸入通過(guò)鼠標(biāo)拖放設(shè)定場(chǎng)景對(duì)象在兩個(gè)相鄰關(guān)鍵幀之間的操作類型和參數(shù)的設(shè)定值。
比較好的是,在上述計(jì)算機(jī)動(dòng)畫編輯方法中,計(jì)算處理單元通過(guò)調(diào)用三維圖形庫(kù)OpenGL或Direct3D的函數(shù)來(lái)實(shí)現(xiàn)所述數(shù)據(jù)操作。
本發(fā)明的上述目的還通過(guò)以下技術(shù)方案實(shí)現(xiàn)一種計(jì)算機(jī)動(dòng)畫編輯方法,包含以下步驟在存儲(chǔ)單元內(nèi)預(yù)先存儲(chǔ)一組場(chǎng)景對(duì)象的數(shù)據(jù),每個(gè)所述場(chǎng)景對(duì)象的數(shù)據(jù)包含至少描述該場(chǎng)景對(duì)象的幾何形狀、坐標(biāo)位置、光學(xué)或聲音屬性其中之一的數(shù)據(jù)項(xiàng),并且每個(gè)所述場(chǎng)景對(duì)象與至少一種數(shù)據(jù)操作類型對(duì)應(yīng);在所述存儲(chǔ)單元存儲(chǔ)場(chǎng)景腳本文件,所述場(chǎng)景腳本文件包含關(guān)鍵幀內(nèi)所包含場(chǎng)景對(duì)象的種類及其屬性值、關(guān)鍵幀之間所述場(chǎng)景對(duì)象的操作類型和參數(shù)的設(shè)定值;計(jì)算處理單元根據(jù)所述場(chǎng)景腳本文件從存儲(chǔ)單元中調(diào)用場(chǎng)景對(duì)象的數(shù)據(jù)并根據(jù)屬性設(shè)定值對(duì)相應(yīng)的數(shù)據(jù)項(xiàng)進(jìn)行處理以生成關(guān)鍵幀,并且根據(jù)作用于兩個(gè)相鄰所述關(guān)鍵幀之間所述場(chǎng)景對(duì)象的操作類型和參數(shù)的設(shè)定值,對(duì)所述關(guān)鍵幀進(jìn)行相應(yīng)的數(shù)據(jù)操作以生成中間幀。
比較好的是,在上述計(jì)算機(jī)動(dòng)畫編輯方法中,所述場(chǎng)景腳本文件的編寫格式遵循一組預(yù)先定義的語(yǔ)法規(guī)則。
比較好的是,在上述計(jì)算機(jī)動(dòng)畫編輯方法中,進(jìn)一步包含下列步驟用戶通過(guò)輸入單元輸入欲修改的所述中間幀內(nèi)所述場(chǎng)景對(duì)象的屬性值和/或作用于所述場(chǎng)景對(duì)象的操作類型和參數(shù);計(jì)算處理單元根據(jù)用戶輸入的修改值對(duì)所述場(chǎng)景對(duì)象相應(yīng)的數(shù)據(jù)項(xiàng)進(jìn)行處理和/或根據(jù)修改值對(duì)所述中間幀進(jìn)行相應(yīng)的數(shù)據(jù)操作以形成新的中間幀。
比較好的是,在上述計(jì)算機(jī)動(dòng)畫編輯方法中,計(jì)算處理單元通過(guò)調(diào)用三維圖形庫(kù)OpenGL或Direct3D的函數(shù)來(lái)實(shí)現(xiàn)所述數(shù)據(jù)操作。
與傳統(tǒng)的動(dòng)畫制作方法不同,在本發(fā)明的方法中,將場(chǎng)景視為由一組具有不同屬性和操作類型的元素組成的圖像幀,用戶只需調(diào)用預(yù)先已經(jīng)定義好的場(chǎng)景對(duì)象即可生成場(chǎng)景,減輕了場(chǎng)景設(shè)計(jì)的工作量。一方面,當(dāng)這種調(diào)用采用所見即所得的用戶界面時(shí),用戶可利用鼠標(biāo)拖放操作等方式在場(chǎng)景中任意加入人物、道具、背景等場(chǎng)景對(duì)象以生成關(guān)鍵幀,并定義場(chǎng)景對(duì)象的運(yùn)動(dòng)路徑和方式以自動(dòng)生成中間幀,從而大大提高了動(dòng)畫制作的效率。另一方面,當(dāng)采用類似“編程”方式生成場(chǎng)景腳本文件時(shí),由于計(jì)算處理單元可以自動(dòng)地一次性生成中間幀,因此大大提高了動(dòng)畫制作的效率。
通過(guò)以下結(jié)合附圖對(duì)本發(fā)明較佳實(shí)施例的描述,可以進(jìn)一步理解本發(fā)明的目的、特征和優(yōu)點(diǎn),其中圖1為按照本發(fā)明第一較佳實(shí)施例的動(dòng)畫編輯方法流程圖。
圖2為按照本發(fā)明第二較佳實(shí)施例的動(dòng)畫編輯方法流程圖。
具體實(shí)施例方式
一般而言,每個(gè)動(dòng)畫場(chǎng)景都可以分解為一組屬于一個(gè)有限集合并且相互獨(dú)立的元素,以下將這些構(gòu)成動(dòng)畫場(chǎng)景的元素統(tǒng)稱為場(chǎng)景對(duì)象,它們例如包括但不限于三維物體(人物、動(dòng)物、諸如桌子、氣球之類的三維布景等)、二維圖片(作為背景、中景和前景)、聲效、燈光、攝像機(jī)等。不同的場(chǎng)景對(duì)象具有各自獨(dú)特的屬性和操作類型,例如桌子的屬性包括表面的幾何尺寸、顏色、圖案、在場(chǎng)景中的坐標(biāo)位置、視角等,操作類型例如可包括平移、旋轉(zhuǎn)運(yùn)動(dòng)之類的圖像數(shù)據(jù)變換處理等,但由于其為剛性物體,因此不包括變形,又如聲效,其屬性包括音量、音調(diào)、聲音起始圖像幀、聲音結(jié)束圖像幀,其操作類型例如可以包括兩種聲效的混和處理。
為了能夠在動(dòng)畫編輯設(shè)備上處理這些場(chǎng)景對(duì)象,可以采用一定的數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)每個(gè)場(chǎng)景對(duì)象的數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)的中的每個(gè)數(shù)據(jù)項(xiàng)描述了該場(chǎng)景對(duì)象的一個(gè)屬性,一個(gè)場(chǎng)景對(duì)象可以包含一個(gè)或若干稱為屬性的數(shù)據(jù)項(xiàng),這些屬性具有初始或缺省值并且可以進(jìn)行修改。此外,當(dāng)操作類型是對(duì)象的空間位置或形狀變化時(shí),可以利用三維圖形庫(kù)OpenGL或Direct3D中提供的函數(shù)來(lái)實(shí)現(xiàn)相應(yīng)的操作。
場(chǎng)景對(duì)象集合的構(gòu)建包括兩方面的含義,一方面是元素種類的確定,另一方面是每個(gè)元素屬性和操作類型的確定,由于具體的構(gòu)建過(guò)程取決于實(shí)際動(dòng)畫制作的需求,因此此處不作贅述。顯然,當(dāng)完成場(chǎng)景對(duì)象集合的構(gòu)建后,動(dòng)畫編輯設(shè)備的計(jì)算處理單元只需根據(jù)用戶指令或場(chǎng)景腳本文件從集合內(nèi)調(diào)用場(chǎng)景對(duì)象的數(shù)據(jù)并為對(duì)象的屬性賦值(也即對(duì)相應(yīng)的數(shù)據(jù)項(xiàng)進(jìn)行處理),然后將具有一定屬性的場(chǎng)景對(duì)象的數(shù)據(jù)寫入顯示單元的顯示內(nèi)存或以文件形式寫入存儲(chǔ)單元內(nèi)即可完成任一場(chǎng)景畫面的創(chuàng)建。
第一實(shí)施例當(dāng)創(chuàng)建場(chǎng)景畫面時(shí),比較好的是采用所見即所得編輯方式來(lái)實(shí)現(xiàn)場(chǎng)景對(duì)象的調(diào)用和屬性賦值,具體而言,可將標(biāo)識(shí)場(chǎng)景對(duì)象的符號(hào)以工具箱的形式顯示在顯示器屏幕的特定區(qū)域內(nèi)供用戶通過(guò)鼠標(biāo)點(diǎn)擊、拖放操作來(lái)選用。對(duì)于關(guān)鍵幀的制作,用戶可通過(guò)鼠標(biāo)將選定的符號(hào)(也即選定的場(chǎng)景對(duì)象,例如人物、道具、背景等)從工具箱區(qū)域內(nèi)拖放至場(chǎng)景編輯區(qū)域所需的位置,然后對(duì)每個(gè)對(duì)象的屬性進(jìn)行賦值(例如通過(guò)點(diǎn)擊鼠標(biāo)右鍵彈出的屬性選擇菜單),動(dòng)畫編輯設(shè)備的計(jì)算處理單元?jiǎng)t自動(dòng)從存儲(chǔ)單元調(diào)用場(chǎng)景對(duì)象的數(shù)據(jù)并進(jìn)行相應(yīng)的數(shù)據(jù)處理以使場(chǎng)景對(duì)象具有一定的屬性。而對(duì)于中間幀的制作,用戶通過(guò)鼠標(biāo)的拖放操作來(lái)直接設(shè)定兩個(gè)相鄰關(guān)鍵幀之間場(chǎng)景對(duì)象的操作類型和參數(shù),而由計(jì)算處理單元自動(dòng)計(jì)算和生成兩個(gè)相鄰關(guān)鍵幀之間的中間幀的數(shù)據(jù),在這里,操作類型是該場(chǎng)景對(duì)象整體或部分在兩個(gè)相鄰關(guān)鍵幀間的變化方式,實(shí)質(zhì)上是場(chǎng)景對(duì)象數(shù)據(jù)的變化方式,而參數(shù)就是這種變化方式的具體形式和幅度,例如如果場(chǎng)景對(duì)象為三維物體,則其操作類型包括變形和游走,參數(shù)可以是變形的幅度和游走的路徑等,如果是燈光,則其操作類型包括明暗變化,參數(shù)可以是明暗延續(xù)的時(shí)間等。
上述所見即所得編輯方式完全可以采用二維CAD技術(shù)實(shí)現(xiàn),由于這是一項(xiàng)在計(jì)算機(jī)圖像或圖形處理軟件中廣泛應(yīng)用的技術(shù),因此此處不作描述。
為了增強(qiáng)動(dòng)畫效果,可能需要對(duì)某些自動(dòng)生成的中間幀獨(dú)立地進(jìn)行修改。在本發(fā)明中,由于場(chǎng)景被分解為一系列的場(chǎng)景元素,因此這種修改也非常方便。例如,當(dāng)中間幀的數(shù)據(jù)按照?qǐng)鼍皩?duì)象的形式寫入存儲(chǔ)單元時(shí),可以將需要修改的中間幀調(diào)取并在顯示單元上顯示,用戶可以通過(guò)鼠標(biāo)點(diǎn)擊場(chǎng)景對(duì)象顯示區(qū)域來(lái)選定需要修改的場(chǎng)景對(duì)象,然后對(duì)該對(duì)象的屬性進(jìn)行賦值(例如通過(guò)點(diǎn)擊鼠標(biāo)右鍵彈出的屬性選擇菜單)。
以下借助第一實(shí)施例描述基于所見即所得方式的一個(gè)動(dòng)畫編輯方法示例。
如圖1所示,在步驟11中,在動(dòng)畫編輯設(shè)備的存儲(chǔ)單元內(nèi)預(yù)先存儲(chǔ)一組采用特定數(shù)據(jù)結(jié)構(gòu)描述屬性的場(chǎng)景對(duì)象,并且為每個(gè)場(chǎng)景對(duì)象定義可施加的操作類型,比較好的是通過(guò)函數(shù)或子程序調(diào)用來(lái)實(shí)現(xiàn)每種操作類型。
接著,在步驟12中,動(dòng)畫編輯設(shè)備的計(jì)算處理單元從存儲(chǔ)單元中調(diào)取場(chǎng)景腳本文件。所謂場(chǎng)景腳本文件,實(shí)際上就是一種描述場(chǎng)景內(nèi)各要素(時(shí)間、地點(diǎn)、環(huán)境、人物、事件等)如何有機(jī)地組成場(chǎng)景的文本,為此,其應(yīng)按照一定的格式描述場(chǎng)景內(nèi)每個(gè)關(guān)鍵幀內(nèi)對(duì)象的種類和各個(gè)對(duì)象的屬性。
隨后,在步驟13a中,計(jì)算處理單元按照預(yù)先定義的格式讀取場(chǎng)景腳本文件以確定需要調(diào)用的場(chǎng)景對(duì)象以及相應(yīng)的屬性賦值。接著,在步驟13b中,計(jì)算處理單元根據(jù)步驟13a的讀取結(jié)果從存儲(chǔ)單元中調(diào)用相應(yīng)的場(chǎng)景對(duì)象的數(shù)據(jù)并進(jìn)行適當(dāng)?shù)淖儞Q處理以完成對(duì)其屬性的賦值。隨后,在步驟13c中,計(jì)算處理單元將具有一定屬性的場(chǎng)景對(duì)象的數(shù)據(jù)一方面以文件的形式寫入存儲(chǔ)單元加以保存,另一方面輸出至顯示單元予以顯示。至此,該場(chǎng)景的關(guān)鍵幀即告生成。
隨后進(jìn)入步驟14a中,依次選擇待生成中間幀的兩個(gè)相鄰關(guān)鍵幀并在顯示單元上顯示。接著在步驟14b中,用戶通過(guò)鼠標(biāo)拖放控制直接設(shè)定場(chǎng)景對(duì)象整體或部分在兩個(gè)相鄰關(guān)鍵幀間的變化過(guò)程或路徑。接著,在步驟14c中,由計(jì)算處理單元自動(dòng)計(jì)算和生成這兩個(gè)相鄰關(guān)鍵幀之間的若干中間幀的數(shù)據(jù),中間幀的數(shù)量可以由用戶預(yù)先設(shè)定。
隨后,在步驟15中,判斷用戶是否需要修改生成的中間幀,如果需要,則進(jìn)入步驟16a,提取用戶選定的中間幀編號(hào)并將該幀顯示于顯示單元并進(jìn)入步驟16b,否則進(jìn)入步驟17。在步驟16b中,用戶通過(guò)鼠標(biāo)點(diǎn)擊場(chǎng)景對(duì)象顯示區(qū)域來(lái)選定需要修改的場(chǎng)景對(duì)象,然后對(duì)該對(duì)象的屬性進(jìn)行賦值(例如通過(guò)點(diǎn)擊鼠標(biāo)右鍵彈出的屬性選擇菜單)并將該中間幀的數(shù)據(jù)以文件形式保存在存儲(chǔ)單元內(nèi),該步驟完成之后進(jìn)入步驟17。
在步驟17中,判斷是否完成所有相鄰關(guān)鍵幀之間中間幀的生成過(guò)程,如果尚有未完成生成的中間幀,則返回步驟14a,否則結(jié)束該場(chǎng)景的計(jì)算機(jī)動(dòng)畫繪制過(guò)程。
值得指出的是,在本實(shí)施例的步驟13a~13c中,計(jì)算處理單元按照預(yù)先定義的格式讀取場(chǎng)景腳本文件并由此生成關(guān)鍵幀,但是實(shí)際上也完全可以由用戶通過(guò)鼠標(biāo)拖放、鍵盤設(shè)定輸入值等方式完成場(chǎng)景對(duì)象及其屬性的選擇操作,由計(jì)算處理單元調(diào)用場(chǎng)景對(duì)象的數(shù)據(jù)并且在進(jìn)行適當(dāng)?shù)臄?shù)據(jù)變換處理后顯示于顯示單元上從而完成關(guān)鍵幀的生成。
如背景技術(shù)部分所述,在現(xiàn)有的動(dòng)畫制作方法中,上色、配音和特效都在后期制作階段完成。但是在本實(shí)施例的動(dòng)畫編輯方法中,由于可以將顏色、聲音、特效等都作為場(chǎng)景對(duì)象來(lái)處理,因此在中期制作階段即可完成上色、配音和特效等工作,從而改進(jìn)了工作流程,提高了生產(chǎn)率。
第二實(shí)施例在上述第一實(shí)施例中,利用本發(fā)明的動(dòng)畫編輯方法可以實(shí)現(xiàn)所見即所得方式的動(dòng)畫編輯過(guò)程。以下借助圖2描述根據(jù)場(chǎng)景腳本文件自動(dòng)生成場(chǎng)景的動(dòng)畫編輯方法的一個(gè)示例。
如圖2所示,在步驟21中,在動(dòng)畫編輯設(shè)備的存儲(chǔ)單元內(nèi)預(yù)先存儲(chǔ)一組采用特定數(shù)據(jù)結(jié)構(gòu)描述屬性的場(chǎng)景對(duì)象,并且為每個(gè)場(chǎng)景對(duì)象定義可施加的操作類型,比較好的是通過(guò)函數(shù)或子程序調(diào)用來(lái)實(shí)現(xiàn)每種操作類型。在本實(shí)施例中,假設(shè)場(chǎng)景對(duì)象為一個(gè)行走的人體模型,對(duì)于一個(gè)人體模型的行走過(guò)程,其特征可以分為外部行為特征和內(nèi)部行為特征兩類,前者包括人體模型直線行走或轉(zhuǎn)動(dòng)時(shí)整體坐標(biāo)位置的改變和整體行進(jìn)方向的改變等特性,它們可以用人體模型這一場(chǎng)景對(duì)象的屬性(例如場(chǎng)景中的坐標(biāo)位置屬性)來(lái)刻畫,以下將這類涉及人體模型整體位置變化的屬性稱為路徑;人體行走過(guò)程或轉(zhuǎn)動(dòng)過(guò)程除了上述路徑變化以外還伴隨著四肢的擺動(dòng),在不同的場(chǎng)景幀中即表現(xiàn)為腿、手臂等四肢的相對(duì)位置變化,人體模型作出笑、哭等面部表情時(shí),在不同的場(chǎng)景幀中即表現(xiàn)為眼睛、鼻子和嘴巴等器官的相對(duì)位置變化,這類人體模型各組成部分在場(chǎng)景幀之間的相對(duì)變化方式即內(nèi)部行為特征,它們可以用上述場(chǎng)景對(duì)象的操作類型來(lái)刻畫,其具體形式和幅度可用相應(yīng)的參數(shù)來(lái)表征,以下將刻畫這類內(nèi)部行為特征的操作類型稱為動(dòng)作,例如刻畫人體行走過(guò)程的操作類型可稱為“走”動(dòng)作,刻畫作出笑的面部表情的操作類型稱為“笑”動(dòng)作等。
接著,在步驟22中,計(jì)算處理單元在存儲(chǔ)單元內(nèi)生成場(chǎng)景腳本文件。在上述場(chǎng)景對(duì)象、屬性和操作類型定義的基礎(chǔ)上,通過(guò)定義一組語(yǔ)法規(guī)則,場(chǎng)景腳本文件即可由動(dòng)畫編輯人員以一種類似于編寫計(jì)算機(jī)程序語(yǔ)言的方式來(lái)編寫,具體而言,編輯人員可通過(guò)輸入設(shè)備鍵入遵循一組語(yǔ)法規(guī)則的代碼段(類似于計(jì)算機(jī)程序中的“源代碼”),該段代碼定義了一系列關(guān)鍵幀場(chǎng)景內(nèi)所包含的場(chǎng)景對(duì)象類型及其屬性、兩個(gè)相鄰關(guān)鍵幀之間的操作類型及其參數(shù)等。
以兩個(gè)關(guān)鍵幀之間行走的人體模型為例(為簡(jiǎn)單起見假設(shè)關(guān)鍵幀內(nèi)僅包含人體模型一個(gè)對(duì)象并且該對(duì)象僅包含行走路徑一個(gè)屬性),將場(chǎng)景內(nèi)的對(duì)象定義為一個(gè)小男孩的人體模型,將該人體模型在兩個(gè)關(guān)鍵幀內(nèi)的位置變化賦值給路徑屬性并且定義該兩個(gè)關(guān)鍵幀之間中間幀生成函數(shù)的參數(shù),生成函數(shù)Invoke可以具有下列形式Invoke(littleboy,walk,F(xiàn)A,F(xiàn)B,path,N)這里的參數(shù)“l(fā)ittleboy”為小男孩人體模型的名稱,參數(shù)“walk”表示該人體模型的操作類型為走的動(dòng)作,參數(shù)“FA”和“FB”關(guān)鍵幀的編號(hào),參數(shù)“path”為該人體模型在這兩個(gè)關(guān)鍵幀內(nèi)的位置變化量,參數(shù)“N”為兩個(gè)關(guān)鍵幀之間中間幀的數(shù)量。
按照同樣的方式,可以定義其它關(guān)鍵幀內(nèi)的對(duì)象種類和屬性,依此類推,由此完成整個(gè)場(chǎng)景腳本文件的編寫。
隨后,在步驟23中,動(dòng)畫編輯設(shè)備判斷場(chǎng)景腳本文件中是否有需要生成中間幀的關(guān)鍵幀,如果有,則進(jìn)入步驟24a,否則,轉(zhuǎn)入步驟26。
隨后,在步驟24a中,計(jì)算處理單元讀取場(chǎng)景腳本文件內(nèi)容,例如按照順序首先讀取最前面的兩個(gè)關(guān)鍵幀,從而提取出該關(guān)鍵幀場(chǎng)景需要調(diào)用的場(chǎng)景對(duì)象以及相應(yīng)的屬性賦值。接著,在步驟24b中,計(jì)算處理單元根據(jù)步驟24a的讀取結(jié)果從存儲(chǔ)單元中調(diào)用相應(yīng)的場(chǎng)景對(duì)象并對(duì)其屬性進(jìn)行賦值。隨后,在步驟24c中,計(jì)算處理單元將具有一定屬性的場(chǎng)景對(duì)象的數(shù)據(jù)寫入場(chǎng)景文件從而完成這兩個(gè)相鄰關(guān)鍵幀的生成。
隨后,在步驟25a中,計(jì)算處理單元讀取場(chǎng)景腳本文件以確定步驟24a~24c所處理的兩個(gè)相鄰關(guān)鍵幀之間每個(gè)場(chǎng)景對(duì)象的操作類型及其參數(shù)。接著,在步驟25b中,計(jì)算處理單元將步驟25a讀取的參數(shù)傳遞給生成函數(shù)以生成一系列的中間幀。隨后,在步驟25c中,計(jì)算處理單元將這些中間幀具有一定屬性的場(chǎng)景對(duì)象輸出至顯示單元或?qū)懭雸?chǎng)景文件。至此,場(chǎng)景腳本文件最前面的兩個(gè)關(guān)鍵幀及其中間幀即告生成,如果將場(chǎng)景腳本文件的代碼類比作計(jì)算機(jī)程序語(yǔ)言中的源代碼,則這里生成的場(chǎng)景文件中的關(guān)鍵幀和中間幀則可類比作目標(biāo)代碼,而根據(jù)這里所述方式從場(chǎng)景腳本文件自動(dòng)生成場(chǎng)景文件的處理過(guò)程即可類比作編譯。
值得指出的是,本實(shí)施例是按照第一對(duì)相鄰關(guān)鍵幀、第一對(duì)相鄰關(guān)鍵幀之間的中間幀、第二對(duì)相鄰關(guān)鍵幀、第二對(duì)相鄰關(guān)鍵幀之間的中間幀……的順序來(lái)“編譯”生成場(chǎng)景文件的,但是也可以按照下列順序來(lái)編譯生成場(chǎng)景文件首先生成所有的關(guān)鍵幀,然后在生成每對(duì)相鄰關(guān)鍵幀之間的中間幀。對(duì)于本發(fā)明而言,這兩種方式都是可行的。
在本實(shí)施例中,為了提供更好的交互性,在步驟26中,動(dòng)畫編輯設(shè)備判斷用戶是否需要對(duì)中間幀進(jìn)行交互式修改,如果不需要,則結(jié)束整個(gè)場(chǎng)景文件的生成過(guò)程,否則,轉(zhuǎn)入步驟27a。
隨后,在步驟27a中,提取用戶選定的中間幀編號(hào)并將該幀顯示于顯示單元并進(jìn)入步驟27b。在步驟27b中,用戶通過(guò)鼠標(biāo)點(diǎn)擊場(chǎng)景對(duì)象顯示區(qū)域來(lái)選定需要修改的場(chǎng)景對(duì)象,然后對(duì)該對(duì)象的屬性進(jìn)行賦值(例如通過(guò)點(diǎn)擊鼠標(biāo)右鍵彈出的屬性選擇菜單)并將該中間幀以文件形式保存在存儲(chǔ)單元內(nèi),該步驟完成之后進(jìn)入步驟26。
與現(xiàn)有的動(dòng)畫制作方法相比,本實(shí)施例的動(dòng)畫編輯方法由于可以將顏色、聲音、特效等都作為場(chǎng)景對(duì)象來(lái)處理,因此在中期制作階段即可完成上色、配音和特效等工作,從而改進(jìn)了工作流程,提高了生產(chǎn)率。而且與第一實(shí)施例相比,本實(shí)施例的動(dòng)畫編輯方法在生產(chǎn)效率上更加出色,比較適合于對(duì)場(chǎng)景畫面質(zhì)量要求不是很高的情形。
以上借助實(shí)例對(duì)本發(fā)明作了詳細(xì)描述,但是應(yīng)該理解的是,上述描述僅具有示意性質(zhì),不應(yīng)理解為對(duì)本發(fā)明范圍和精神的限定,對(duì)于本領(lǐng)域內(nèi)的普通技術(shù)人員來(lái)說(shuō),在上述實(shí)例的基礎(chǔ)上,無(wú)需經(jīng)過(guò)創(chuàng)造性的勞動(dòng)即可提出各種修改或改動(dòng),因此本發(fā)明的范圍和精神由權(quán)利要求予以限定。
權(quán)利要求
1.一種計(jì)算機(jī)動(dòng)畫編輯方法,其特征在于,包含以下步驟在存儲(chǔ)單元內(nèi)預(yù)先存儲(chǔ)一組場(chǎng)景對(duì)象的數(shù)據(jù),每個(gè)所述場(chǎng)景對(duì)象的數(shù)據(jù)包含至少描述該場(chǎng)景對(duì)象的幾何形狀、坐標(biāo)位置、光學(xué)或聲音屬性其中之一的數(shù)據(jù)項(xiàng),并且每個(gè)所述場(chǎng)景對(duì)象與至少一種數(shù)據(jù)操作類型對(duì)應(yīng);計(jì)算處理單元從所述存儲(chǔ)單元中調(diào)用場(chǎng)景對(duì)象的數(shù)據(jù)并根據(jù)屬性設(shè)定值對(duì)相應(yīng)的數(shù)據(jù)項(xiàng)進(jìn)行處理以生成關(guān)鍵幀;用戶通過(guò)輸入單元設(shè)定場(chǎng)景對(duì)象在兩個(gè)相鄰關(guān)鍵幀之間的操作類型和參數(shù)設(shè)定值;根據(jù)作用于兩個(gè)相鄰所述關(guān)鍵幀之間所述場(chǎng)景對(duì)象的操作類型和參數(shù)設(shè)定值,計(jì)算處理單元對(duì)所述關(guān)鍵幀進(jìn)行相應(yīng)的數(shù)據(jù)操作以生成中間幀。
2.如權(quán)利要求1所述的計(jì)算機(jī)動(dòng)畫編輯方法,其特征在于,進(jìn)一步包含下列步驟用戶通過(guò)輸入單元輸入欲修改的所述中間幀內(nèi)所述場(chǎng)景對(duì)象的屬性值和/或作用于所述場(chǎng)景對(duì)象的操作類型和參數(shù);計(jì)算處理單元根據(jù)用戶輸入的修改值對(duì)所述場(chǎng)景對(duì)象相應(yīng)的數(shù)據(jù)項(xiàng)進(jìn)行處理和/或根據(jù)修改值對(duì)所述中間幀進(jìn)行相應(yīng)的數(shù)據(jù)操作以形成新的中間幀。
3.如權(quán)利要求1或2所述的計(jì)算機(jī)動(dòng)畫編輯方法,其特征在于,通過(guò)下列方式指令計(jì)算處理單元調(diào)用相應(yīng)的場(chǎng)景對(duì)象在顯示單元的特定區(qū)域內(nèi)顯示用于標(biāo)識(shí)所述場(chǎng)景對(duì)象的符號(hào);用戶通過(guò)鼠標(biāo)將選定的符號(hào)從所述特定區(qū)域內(nèi)拖放至所述關(guān)鍵幀編輯區(qū)域所需的位置。
4.如權(quán)利要求3所述的計(jì)算機(jī)動(dòng)畫編輯方法,其特征在于,所述設(shè)定值由用戶按照下列方式輸入通過(guò)鼠標(biāo)拖放設(shè)定場(chǎng)景對(duì)象在兩個(gè)相鄰關(guān)鍵幀之間的操作類型和參數(shù)的設(shè)定值。
5.如權(quán)利要求4所述的計(jì)算機(jī)動(dòng)畫編輯方法,其特征在于,計(jì)算處理單元通過(guò)調(diào)用三維圖形庫(kù)OpenGL或Direct3D的函數(shù)來(lái)實(shí)現(xiàn)所述數(shù)據(jù)操作。
6.一種計(jì)算機(jī)動(dòng)畫編輯方法,其特征在于,包含以下步驟在存儲(chǔ)單元內(nèi)預(yù)先存儲(chǔ)一組場(chǎng)景對(duì)象的數(shù)據(jù),每個(gè)所述場(chǎng)景對(duì)象的數(shù)據(jù)包含至少描述該場(chǎng)景對(duì)象的幾何形狀、坐標(biāo)位置、光學(xué)或聲音屬性其中之一的數(shù)據(jù)項(xiàng),并且每個(gè)所述場(chǎng)景對(duì)象與至少一種數(shù)據(jù)操作類型對(duì)應(yīng);在所述存儲(chǔ)單元存儲(chǔ)場(chǎng)景腳本文件,所述場(chǎng)景腳本文件包含關(guān)鍵幀內(nèi)所包含場(chǎng)景對(duì)象的種類及其屬性值、關(guān)鍵幀之間所述場(chǎng)景對(duì)象的操作類型和參數(shù)的設(shè)定值;計(jì)算處理單元根據(jù)所述場(chǎng)景腳本文件從存儲(chǔ)單元中調(diào)用場(chǎng)景對(duì)象的數(shù)據(jù)并根據(jù)屬性設(shè)定值對(duì)相應(yīng)的數(shù)據(jù)項(xiàng)進(jìn)行處理以生成關(guān)鍵幀,并且根據(jù)作用于兩個(gè)相鄰所述關(guān)鍵幀之間所述場(chǎng)景對(duì)象的操作類型和參數(shù)的設(shè)定值,對(duì)所述關(guān)鍵幀進(jìn)行相應(yīng)的數(shù)據(jù)操作以生成中間幀。
7.如權(quán)利要求6所述的計(jì)算機(jī)動(dòng)畫編輯方法,其特征在于,所述場(chǎng)景腳本文件的編寫格式遵循一組預(yù)先定義的語(yǔ)法規(guī)則。
8.如權(quán)利要求6或7所述的計(jì)算機(jī)動(dòng)畫編輯方法,其特征在于,進(jìn)一步包含下列步驟用戶通過(guò)輸入單元輸入欲修改的所述中間幀內(nèi)所述場(chǎng)景對(duì)象的屬性值和/或作用于所述場(chǎng)景對(duì)象的操作類型和參數(shù);計(jì)算處理單元根據(jù)用戶輸入的修改值對(duì)所述場(chǎng)景對(duì)象相應(yīng)的數(shù)據(jù)項(xiàng)進(jìn)行處理和/或根據(jù)修改值對(duì)所述中間幀進(jìn)行相應(yīng)的數(shù)據(jù)操作以形成新的中間幀。
9.如權(quán)利要求8所述的計(jì)算機(jī)動(dòng)畫編輯方法,其特征在于,計(jì)算處理單元通過(guò)調(diào)用三維圖形庫(kù)OpenGL或Direct3D的函數(shù)來(lái)實(shí)現(xiàn)所述數(shù)據(jù)操作。
全文摘要
本發(fā)明提供一種計(jì)算機(jī)動(dòng)畫編輯方法,包含以下步驟在存儲(chǔ)單元內(nèi)預(yù)先存儲(chǔ)一組場(chǎng)景對(duì)象的數(shù)據(jù),每個(gè)所述場(chǎng)景對(duì)象的數(shù)據(jù)包含至少描述該場(chǎng)景對(duì)象的幾何形狀、坐標(biāo)位置、光學(xué)或聲音屬性其中之一的數(shù)據(jù)項(xiàng),并且每個(gè)所述場(chǎng)景對(duì)象與至少一種數(shù)據(jù)操作類型對(duì)應(yīng);計(jì)算處理單元從所述存儲(chǔ)單元中調(diào)用場(chǎng)景對(duì)象的數(shù)據(jù)并根據(jù)屬性設(shè)定值對(duì)相應(yīng)的數(shù)據(jù)項(xiàng)進(jìn)行處理以生成關(guān)鍵幀;用戶通過(guò)輸入單元設(shè)定場(chǎng)景對(duì)象在兩個(gè)相鄰關(guān)鍵幀之間的操作類型和參數(shù)設(shè)定值;根據(jù)作用于兩個(gè)相鄰所述關(guān)鍵幀之間所述場(chǎng)景對(duì)象的操作類型和參數(shù)設(shè)定值,計(jì)算處理單元對(duì)所述關(guān)鍵幀進(jìn)行相應(yīng)的數(shù)據(jù)操作以生成中間幀。本發(fā)明可使創(chuàng)造人員從繁重的手工繪制畫稿工作中解脫出來(lái),大幅提高了動(dòng)畫制作的工作效率。
文檔編號(hào)G06T13/00GK1797473SQ20041009352
公開日2006年7月5日 申請(qǐng)日期2004年12月24日 優(yōu)先權(quán)日2004年12月24日
發(fā)明者李仕, 汪有林, 楊風(fēng)雷 申請(qǐng)人:上海景海軟件科技有限公司