專利名稱:一種動漫特效的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及動漫制作領(lǐng)域,具體為一種動漫特效的制作方法。
背景技術(shù):
目前,動漫特效是動漫及游戲產(chǎn)業(yè)的核心技術(shù),決定著數(shù)字娛樂、無線3G數(shù)字娛 樂等創(chuàng)意產(chǎn)業(yè)的藝術(shù)感染力。國內(nèi)企業(yè)和研究單位對動漫特效相關(guān)技術(shù)的研究很少,嚴(yán)重 阻礙了創(chuàng)意產(chǎn)業(yè)的發(fā)展。此外,動漫制作工作大量而且煩瑣,操作困難費(fèi)時費(fèi)力,使動畫制 作人員大量的重復(fù)工作,從而喪失創(chuàng)意思維。
發(fā)明內(nèi)容
本發(fā)明所解決的技術(shù)問題在于提供一種動漫特效的制作方法,以解決上述背景技 術(shù)中的缺點(diǎn)。本發(fā)明所解決的技術(shù)問題采用以下技術(shù)方案來實(shí)現(xiàn)一種動漫特效的制作方法,主要包括實(shí)時渲染三維水面系統(tǒng)制作方法、卡通水墨 渲染制作方法、流體煙霧和火焰制作方法、人臉生成器的程序編制、水波紋生成插件的模塊 劃分、頭部模型特征提取方法等,其實(shí)現(xiàn)方法如下(1)實(shí)時渲染三維水面系統(tǒng)制作方法程序中定義了兩個與圖片對應(yīng)的二維數(shù)組bufl [Pool-Height] [PoolWidth]和 buf2 [PoolHeight] [Poolffidth],用于保存前、后時刻各點(diǎn)的振幅。其中PoolHeight為圖片 像素的行數(shù),PoolWidth為圖片像素的列數(shù)。設(shè)初始狀態(tài)時“水池”水面為一平面,各點(diǎn)的振 幅值均為O (將bufl和buf2賦初值0)。(2)卡通水墨渲染制作方法勾邊方法把靠近邊緣的三角形渲染成黑色,把原有的四邊形轉(zhuǎn)換成三角形的物 體模型,給物體制造一種比較重的邊緣效果。為了確定那些是需要被染色的三角形,還應(yīng)用 鏡頭或者是光源的方向去點(diǎn)乘轉(zhuǎn)換后的三角形的法向量,點(diǎn)積的結(jié)果表示了一個三角形靠 近邊緣的程度,邊緣必定是由一個正面朝向的三角形和一個背面朝向的三角形的公共邊。 如果一個三角形的法向量和鏡頭方向的點(diǎn)積的絕對值越小則表示它離邊緣越近,如果點(diǎn)積 是負(fù)的話則表示它是背離了觀察者??ㄍㄖ椒ㄔ谝粋€法線方向的場景緩沖中,每個像素點(diǎn)都存儲3個值,即該像 素對應(yīng)的點(diǎn)三維坐標(biāo)的正交值(nX,ny,nZ),通過對同一個鏡頭角度渲染該場景來獲得這個 緩沖。在這兩次渲染中,用一種純白散射物質(zhì)(環(huán)境光=黑色,散射光=白色,沒有反射光) 來取代所有物體的顏色和材質(zhì),然后去掉所有的外來光源,再將對物體的質(zhì)料作修改并將 它的散射顏色復(fù)制到環(huán)境光中,設(shè)置散射色為黑色,保留原來的反射色。 (3)流體煙霧和火焰制作方法 簡化了物理模型,并使用Mam的穩(wěn)定流方法以及半拉格朗日法來近似求解N-S方 程組。
4
外力項(xiàng)求解泊松方程時的投影會增加流體的旋流特性,所以最后外力項(xiàng)為 / P/初始其中f初始是初始時刻的外力,如風(fēng)力等。這樣就減少了外力和旋流所帶 來的額外計(jì)算量。于是外力項(xiàng)就為W1(X) 9Wa(X),/(χ, )。(4)人臉生成器的程序編制主要包括倆部分,3ds文件讀入和3ds對象的顯示和控制。所述的3ds文件讀入程 序編制為在3DSMAX中建立好模型后,以三角形網(wǎng)格方式存為.3DS文件,在程序中需要建立 對應(yīng)的模型的數(shù)據(jù)結(jié)構(gòu),讀取文件數(shù)據(jù),然后在3DSMAX中進(jìn)行繪制,最后輸出該幾何體數(shù) 據(jù)到文件文本,以及從文件文本中讀取該幾何體數(shù)據(jù)。(5)水波紋生成插件的模塊劃分執(zhí)行程序模塊該模塊創(chuàng)建一個隨機(jī)生成模擬流動表面落雨效果的表達(dá)式,表達(dá) 式利用機(jī)器時間作為隨機(jī)數(shù)種子,time會不停變化,可產(chǎn)生較好的隨機(jī)性。表達(dá)式中先設(shè) 置場景二維平面的大小,設(shè)置虛擬雨滴的下落頻率、大小、數(shù)量等,然后將這些參數(shù)傳遞給 HuidTextureName對象,以便后面模塊調(diào)用。創(chuàng)建水面流動紋理模塊該模塊創(chuàng)建一個3D的流動性紋理來進(jìn)行2D模擬。通過 返回的節(jié)點(diǎn)名稱,連接相互依賴的節(jié)點(diǎn)屬性,并對流動體表面的屬性進(jìn)行設(shè)置,最后返回流 動體表面類,以便后面模塊調(diào)用。主程序模塊該模塊先檢查設(shè)置的場景類型,默認(rèn)類型為oceanshape。首先檢驗(yàn) 所選擇的對象,將場景中對象的名稱返回,通過if-else結(jié)構(gòu),獲得當(dāng)前場景中的實(shí)體類 型;再將獲得的流動性紋理以參數(shù)形式返回給執(zhí)行函數(shù)模塊。執(zhí)行函數(shù)模塊通過調(diào)用參數(shù) 進(jìn)行水波紋效果模擬。(6)頭部模型特征提取方法運(yùn)用3DS MAX,對于一般的人臉,選取7個特征點(diǎn)A_G,其中A、B、C、D為4個眼角 點(diǎn);E為鼻尖;F,G為嘴角點(diǎn)。與其它特征點(diǎn)相比,這7個點(diǎn)較容易從圖像中提取出來并加 以測量。通過以上特征點(diǎn)的提取,確定眼睛、鼻子、嘴巴的區(qū)域,并得出有關(guān)臉部特征參數(shù)建 立數(shù)據(jù)庫。有益效果本發(fā)明不僅能免去大量的重復(fù)的繁瑣性工作,且操作十分簡便富于人性化,極大 地節(jié)省了人力物力財(cái)力,可將動畫制作人員從枯燥的模型設(shè)計(jì)中解脫出來,專心研究更高 層次的東西,從而可以大大增強(qiáng)原有平臺的功能。
圖1為頭部模型特征提取的特征點(diǎn)選擇與搜索范圍示意圖;圖2為頭部模型特征提取的特征點(diǎn)定位示意圖。
具體實(shí)施例方式為了使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面結(jié) 合具體圖示,進(jìn)一步闡述本發(fā)明。參見圖1頭部模型特征提取的特征點(diǎn)選擇與搜索范圍示意圖和圖2頭部模型特征 提取的特征點(diǎn)定位示意圖,本實(shí)施例為頭部模型特征提取方法的實(shí)施例。
在本實(shí)施例中,特征提取主要包括以下5個步驟(1)特征點(diǎn)的選擇如圖1所示,對于一般的人臉,選取7個特征點(diǎn)A-G,圖中A、B、C、D為4個眼角點(diǎn); E為鼻尖;F,G為嘴角點(diǎn)。與其它特征點(diǎn)相比,這7個點(diǎn)很容易從圖像中提取出來并加以測 量。通過以上特征點(diǎn)的提取,確定眼睛、鼻子、嘴巴的區(qū)域,并得出有關(guān)臉部特征參數(shù)建立數(shù) 據(jù)庫。(2)確定特征點(diǎn)的搜索范圍如圖1所示,將搜索范圍設(shè)為一矩形區(qū)域,矩形的長為臉部頂點(diǎn)與下巴點(diǎn)的距離, 矩形的寬既是臉寬。臉部頂點(diǎn)是指人臉與頭發(fā)交界處最上方的點(diǎn),為邊緣的最高處,同理下 巴點(diǎn)是邊緣的最低處。由于3DS MAX頭部模型中間對稱,因此多數(shù)情況最高點(diǎn)與最低點(diǎn)都 在CEM對稱線上,而且胡須、照明及陰影的影響較小,因此臉部的長度可通過頂點(diǎn)與下巴點(diǎn) 可以求出。檢測鼻子底部邊緣線與對稱線交點(diǎn)。E點(diǎn)與此邊緣線的左端點(diǎn)為起點(diǎn),加上一定 的偏移量,由內(nèi)向外在頭部輪廓的范圍內(nèi)進(jìn)行搜索,找到的第一個邊界點(diǎn),即為臉頰輪廓線 上的點(diǎn),將鼻尖所在處的臉部輪廓線的寬度視為臉寬,即確定了矩形區(qū)域。(3)特征點(diǎn)的定位如圖1與圖2所示,有了鼻子底部邊緣線和左右臉頰邊緣線,就可以得到鼻尖點(diǎn)的 位置E與臉寬。根據(jù)人臉五官發(fā)布,左眼和右眼約在位于臉長的1/3處,而左右眼的中心分 別位于臉寬的1/4處,在邊緣圖眼的中心進(jìn)行搜索,找到的邊緣線段即為眼的輪廓線。查 找線段的最左點(diǎn)D和最右點(diǎn)C,就是眼的左、右眼角,相對左眼而言就是左眼外角和左眼內(nèi) 角。同理,可以得到右眼的眼外角A和眼內(nèi)角內(nèi)B。對于左右嘴角的確認(rèn)。由于嘴位于鼻下 方,所以直接從鼻端向下搜索找到嘴唇所在的位置。同理,我們只須查找嘴唇所屬線段最左 點(diǎn)G、最右點(diǎn)F,就找到了左嘴角、右嘴角,從而完成特征點(diǎn)提取工作。(4)眼睛、嘴巴的特征提取在上述獲得特征點(diǎn)的基礎(chǔ)上,建立人臉邊緣圖的直角坐標(biāo)系,通過A、B、C、D四點(diǎn) 確定眼睛,并求出內(nèi)外眼角點(diǎn)A、B或C、D的坐標(biāo)E in(i, j)和E out (m,η),內(nèi)外角點(diǎn)的距 離即為眼睛的寬度L eye = E in(i, j)_E out (m,η) |。通過眼睛內(nèi)外角點(diǎn)求出的眼睛的 寬度作為數(shù)據(jù)庫中的一個數(shù)據(jù)項(xiàng)。類似于對眼睛處理,對于已獲得的嘴部特征點(diǎn)F、G,同樣 求出左右嘴角F、G的坐標(biāo)M left(i,j)和E right (m,η),距離即為L mouth = M left(i, j)-E right(m,n)|。以此建立數(shù)據(jù)庫中的另一個數(shù)據(jù)項(xiàng)。(5)下頌輪廓線的特征提取在人臉正面圖像中,下頌輪廓線是一種相對穩(wěn)定的形狀特征,尤其是嘴巴以下的 部分受表情的影響很小,且下頌輪廓包含了大部分的臉型信息。將人臉分為圓臉、尖臉和方 臉,據(jù)此建立下頌形狀模板尖下巴、圓下巴和平下巴。對事先得到的下頌輪廓上的點(diǎn)進(jìn)行 模板匹配,再根據(jù)匹配結(jié)果進(jìn)行輪廓線分類。試驗(yàn)表明,該方法分類效果良好,可以有效提 高數(shù)據(jù)庫的速度和識別率。以上顯示和描述了本發(fā)明的基本原理和主要特征及本發(fā)明的優(yōu)點(diǎn)。本行業(yè)的技術(shù) 人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說明書中描述的只是說明本 發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進(jìn),這些變 化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其等效物界定。
權(quán)利要求
1. 一種動漫特效的制作方法,主要包括實(shí)時渲染三維水面系統(tǒng)制作方法、卡通水墨渲 染制作方法、流體煙霧和火焰制作方法、人臉生成器的程序編制、水波紋生成插件的模塊劃 分、頭部模型特征提取方法,其特征在于,實(shí)現(xiàn)方法如下(1)實(shí)時渲染三維水面系統(tǒng)制作方法程序中定義了兩個與圖片對應(yīng)的二維數(shù)組buf 1 [Pool-Height] [Poolffidth]和 buf2[PoolHeight] [PooIWidth],用于保存前、后時刻各點(diǎn)的振幅。其中PoolHeight為圖片 像素的行數(shù),PoolWidth為圖片像素的列數(shù)。設(shè)初始狀態(tài)時“水池”水面為一平面,各點(diǎn)的振 幅值均為O (將buf 1和buf 2賦初值0);(2)卡通水墨渲染制作方法勾邊方法把靠近邊緣的三角形渲染成黑色,把原有的四邊形轉(zhuǎn)換成三角形的物體模 型,給物體制造一種比較重的邊緣效果。為了確定那些是需要被染色的三角形,還應(yīng)用鏡頭 或者是光源的方向去點(diǎn)乘轉(zhuǎn)換后的三角形的法向量,點(diǎn)積的結(jié)果表示了一個三角形靠近邊 緣的程度,邊緣必定是由一個正面朝向的三角形和一個背面朝向的三角形的公共邊。如果 一個三角形的法向量和鏡頭方向的點(diǎn)積的絕對值越小則表示它離邊緣越近,如果點(diǎn)積是負(fù) 的話則表示它是背離了觀察者;卡通著色方法在一個法線方向的場景緩沖中,每個像素點(diǎn)都存儲3個值,即該像素對 應(yīng)的點(diǎn)三維坐標(biāo)的正交值(nx,ny, nz),通過對同一個鏡頭角度渲染該場景來獲得這個緩 沖。在這兩次渲染中,用一種純白散射物質(zhì)(環(huán)境光=黑色,散射光=白色,沒有反射光) 來取代所有物體的顏色和材質(zhì),然后去掉所有的外來光源,再將對物體的質(zhì)料作修改并將 它的散射顏色復(fù)制到環(huán)境光中,設(shè)置散射色為黑色,保留原來的反射色;(3)流體煙霧和火焰制作方法簡化了物理模型,并使用Mam的穩(wěn)定流方法以及半拉格朗日法來近似求解N-S方程組;(4)人臉生成器的程序編制主要包括倆部分,3ds文件讀入和3ds對象的顯示和控制。所述的3ds文件讀入程序編 制為在3DSMAX中建立好模型后,以三角形網(wǎng)格方式存為.3DS文件,在程序中需要建立對應(yīng) 的模型的數(shù)據(jù)結(jié)構(gòu),讀取文件數(shù)據(jù),然后在3DSMAX中進(jìn)行繪制,最后輸出該幾何體數(shù)據(jù)到 文件文本,以及從文件文本中讀取該幾何體數(shù)據(jù);(5)水波紋生成插件的模塊劃分執(zhí)行程序模塊該模塊創(chuàng)建一個隨機(jī)生成模擬流動表面落雨效果的表達(dá)式,表達(dá)式 利用機(jī)器時間作為隨機(jī)數(shù)種子,time會不停變化,可產(chǎn)生較好的隨機(jī)性。表達(dá)式中先設(shè) 置場景二維平面的大小,設(shè)置虛擬雨滴的下落頻率、大小、數(shù)量等,然后將這些參數(shù)傳遞給 HuidTextureName對象,以便后面模塊調(diào)用;創(chuàng)建水面流動紋理模塊該模塊創(chuàng)建一個3D的流動性紋理來進(jìn)行2D模擬。通過返回 的節(jié)點(diǎn)名稱,連接相互依賴的節(jié)點(diǎn)屬性,并對流動體表面的屬性進(jìn)行設(shè)置,最后返回流動體 表面類,以便后面模塊調(diào)用;主程序模塊該模塊先檢查設(shè)置的場景類型,默認(rèn)類型為oceanshape。首先檢驗(yàn)所選 擇的對象,將場景中對象的名稱返回,通過if-else結(jié)構(gòu),獲得當(dāng)前場景中的實(shí)體類型;再 將獲得的流動性紋理以參數(shù)形式返回給執(zhí)行函數(shù)模塊。執(zhí)行函數(shù)模塊通過調(diào)用參數(shù)進(jìn)行水波紋效果模擬;(6)頭部模型特征提取方法運(yùn)用3DS MAX,對于一般的人臉,選取7個特征點(diǎn)A-G,其中A、B、C、D為4個眼角點(diǎn);E 為鼻尖;F,G為嘴角點(diǎn)。與其它特征點(diǎn)相比,這7個點(diǎn)較容易從圖像中提取出來并加以測 量。通過以上特征點(diǎn)的提取,確定眼睛、鼻子、嘴巴的區(qū)域,并得出有關(guān)臉部特征參數(shù)建立數(shù) 據(jù)庫。
全文摘要
一種動漫特效的制作方法,主要包括實(shí)時渲染三維水面系統(tǒng)制作方法、卡通水墨渲染制作方法、流體煙霧和火焰制作方法、人臉生成器的程序編制、水波紋生成插件的模塊劃分、頭部模型特征提取方法等。本發(fā)明不僅能免去大量的重復(fù)的繁瑣性工作,且操作十分簡便富于人性化,極大地節(jié)省了人力物力財(cái)力,可將動畫制作人員從枯燥的模型設(shè)計(jì)中解脫出來,專心研究更高層次的東西,從而可以大大增強(qiáng)原有平臺的功能。
文檔編號G06T13/20GK102087750SQ20101020004
公開日2011年6月8日 申請日期2010年6月13日 優(yōu)先權(quán)日2010年6月13日
發(fā)明者余燕, 石猛, 蔣立山, 袁志勇, 謝軍, 譚兆紅, 陶勝, 韓昱斌 申請人:湖南宏夢信息科技有限公司