《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種卡通動(dòng)畫(huà)中人物頭發(fā)運(yùn)動(dòng)生成技術(shù)研究
一種卡通動(dòng)畫(huà)中人物頭發(fā)運(yùn)動(dòng)生成技術(shù)研究
2014年微型機(jī)與應(yīng)用第22期
歐訓(xùn)勇
(瓊州學(xué)院 電子信息工程學(xué)院,海南 三亞 572022)
摘要: 介紹了一種新的卡通動(dòng)畫(huà)中人物頭發(fā)運(yùn)動(dòng)的混合技術(shù),使動(dòng)畫(huà)師們能方便地創(chuàng)作出有吸引力和可控性的頭發(fā)運(yùn)動(dòng)效果,而不需要手工對(duì)頭發(fā)運(yùn)動(dòng)表現(xiàn)過(guò)程進(jìn)行逐幀繪制,僅設(shè)置好所需的一些關(guān)鍵幀畫(huà)面。該技術(shù)方法演示如何根據(jù)給出的手繪卡通人物角色動(dòng)作配以相應(yīng)的頭發(fā)運(yùn)動(dòng)效果。這種方法的新穎之處是
Abstract:
Key words :

  摘  要: 介紹了一種新的卡通動(dòng)畫(huà)中人物頭發(fā)運(yùn)動(dòng)的混合技術(shù),使動(dòng)畫(huà)師們能方便地創(chuàng)作出有吸引力和可控性的頭發(fā)運(yùn)動(dòng)效果,而不需要手工對(duì)頭發(fā)運(yùn)動(dòng)表現(xiàn)過(guò)程進(jìn)行逐幀繪制,僅設(shè)置好所需的一些關(guān)鍵幀畫(huà)面。該技術(shù)方法演示如何根據(jù)給出的手繪卡通人物角色動(dòng)作配以相應(yīng)的頭發(fā)運(yùn)動(dòng)效果。這種方法的新穎之處是,既不是簡(jiǎn)單地插入關(guān)鍵幀來(lái)獲得頭發(fā)運(yùn)動(dòng)效果,也不是通過(guò)物理模擬的方式來(lái)生成頭發(fā)飄逸的動(dòng)畫(huà),而是從動(dòng)畫(huà)師預(yù)先準(zhǔn)備好的少量的作為關(guān)鍵幀草圖的頭發(fā)運(yùn)動(dòng)效果,建立物理模擬動(dòng)畫(huà)數(shù)據(jù)庫(kù),根據(jù)此數(shù)據(jù)庫(kù)中頭發(fā)的運(yùn)動(dòng)效果來(lái)創(chuàng)建出特定頭發(fā)運(yùn)動(dòng)動(dòng)畫(huà)。此方法生成的頭發(fā)動(dòng)畫(huà)分兩個(gè)階段完成,首先是在數(shù)據(jù)庫(kù)中搜索對(duì)應(yīng)的運(yùn)動(dòng)效果畫(huà)面,然后順利連接;其次數(shù)據(jù)庫(kù)序列的關(guān)鍵幀之間的過(guò)渡幀由在動(dòng)畫(huà)中運(yùn)用轉(zhuǎn)移函數(shù)生成的插值補(bǔ)充,以實(shí)現(xiàn)流暢的頭發(fā)飄逸動(dòng)畫(huà)。

  關(guān)鍵詞手繪圖;卡通動(dòng)畫(huà);運(yùn)動(dòng)插值

0 引言

  在手繪角色動(dòng)畫(huà)中表現(xiàn)頭發(fā)運(yùn)動(dòng)的畫(huà)面往往存在著不一致性。例如,從圖1的效果中不難看出,頭發(fā)有可能在綹數(shù)上是不一致的。由此,頭發(fā)的運(yùn)動(dòng)效果在手繪動(dòng)畫(huà)中是一項(xiàng)有難度的工作。事實(shí)上,卡通角色頭發(fā)運(yùn)動(dòng)效果在計(jì)算機(jī)圖形學(xué)中實(shí)現(xiàn)是很困難的。這是因?yàn)樗械念^發(fā)的屬性不可能與攝像機(jī)位置一致。盡管物理運(yùn)動(dòng)方程可以用來(lái)獲得正確的身體運(yùn)動(dòng),但它看起來(lái)并不總是運(yùn)動(dòng)著的。由于手繪卡通動(dòng)畫(huà)中頭發(fā)的運(yùn)動(dòng)有時(shí)帶有一定的作用,動(dòng)畫(huà)師可以尋找角色本身的形象去表現(xiàn)發(fā)型外觀。這意味著相應(yīng)關(guān)鍵幀中頭發(fā)造型特征(如形狀、數(shù)量等)實(shí)際上不可能有一致的形象。盡管動(dòng)畫(huà)各幀畫(huà)面有一定差異,但其動(dòng)畫(huà)效果還是能令人接受的。利用計(jì)算機(jī)圖形技術(shù)來(lái)創(chuàng)建卡通角色頭發(fā)動(dòng)畫(huà)這是最難的部分,也是為什么一直以來(lái)卡通頭發(fā)動(dòng)畫(huà)都是手繪效果。這需要投入大量的人力勞動(dòng)。例如動(dòng)畫(huà)片幽靈公主中,有一段風(fēng)中場(chǎng)景,5 min的頭發(fā)飄逸動(dòng)畫(huà),卻需要?jiǎng)赢?huà)師們花費(fèi)一個(gè)月的時(shí)間來(lái)完成制作。

  本文提出一種混合技術(shù)方法,利用計(jì)算機(jī)來(lái)生成人物頭發(fā)飄逸動(dòng)畫(huà)效果,減少動(dòng)畫(huà)師們對(duì)頭發(fā)動(dòng)畫(huà)所耗費(fèi)的時(shí)間,節(jié)約動(dòng)畫(huà)制作成本。

1 相關(guān)研究分析

  前人對(duì)卡通發(fā)型生成研究集中以表現(xiàn)發(fā)型,考慮發(fā)型構(gòu)成的每一縷發(fā)絲的形狀和動(dòng)力學(xué)現(xiàn)象。參考文獻(xiàn)[1]使用一個(gè)簡(jiǎn)化的懸臂梁模型的發(fā)型,并利用一維角動(dòng)量射影表現(xiàn)發(fā)絲動(dòng)畫(huà)。參考文獻(xiàn)[2]中使用稀疏的頭發(fā)特征表現(xiàn)動(dòng)畫(huà)效果,以減少計(jì)算時(shí)間。參考文獻(xiàn)[3]提出了一種巧妙的方法,用于創(chuàng)建多分辨率的頭發(fā)模型(MHM)系統(tǒng),該系統(tǒng)是根據(jù)相鄰的頭發(fā)縷數(shù)的觀察角度,形成多層次的團(tuán)簇。參考文獻(xiàn)[4]提出了一種結(jié)合幾何動(dòng)力學(xué)的卡通頭發(fā)生成方法。該方法使用對(duì)樣本的非線性插值,避免了幾何模型變換中出現(xiàn)不自然現(xiàn)象,使生成的頭發(fā)運(yùn)動(dòng)更符合卡通特性;同時(shí)用戶可以指定控制點(diǎn)和控制點(diǎn)的路徑,使對(duì)頭發(fā)可控性強(qiáng),可以取得風(fēng)格化的效果。

  上述的研究工作取得了一定的成果,但是沒(méi)有在效率和效果上達(dá)到統(tǒng)一,這主要是由于卡通頭發(fā)運(yùn)動(dòng)缺乏發(fā)絲柔順的運(yùn)動(dòng)物理特性,同時(shí)運(yùn)動(dòng)過(guò)程也表現(xiàn)出不一致性。本文提出的方法是基于關(guān)鍵幀插值和物理仿真的混合技術(shù),將手繪定型與物理動(dòng)力學(xué)仿真相結(jié)合的方法實(shí)現(xiàn)了效率和效果的統(tǒng)一。利用輸入一組手繪的發(fā)型造型關(guān)鍵幀草圖,這些草圖都描述表現(xiàn)卡通頭發(fā)運(yùn)動(dòng)效果的最終形態(tài),再通過(guò)計(jì)算插值和物理仿真來(lái)最終生成卡通頭發(fā)運(yùn)動(dòng)的動(dòng)畫(huà)效果。

  該方法關(guān)鍵的步驟是事先創(chuàng)建一個(gè)用于描述頭發(fā)運(yùn)動(dòng)的數(shù)據(jù)庫(kù)。庫(kù)中詳盡地記錄有卡通發(fā)型包含的股數(shù)和每股頭發(fā)的運(yùn)動(dòng)節(jié)點(diǎn)數(shù),所確定的頭發(fā)股數(shù)和節(jié)點(diǎn)不可再分,這樣,就建立了一個(gè)“指導(dǎo)型的頭發(fā)運(yùn)動(dòng)數(shù)據(jù)庫(kù)”,并且設(shè)定有頭發(fā)沖擊飄蕩的運(yùn)動(dòng)力,可用于計(jì)算機(jī)計(jì)算生成一系列的匹配頭發(fā)草圖。即構(gòu)建一個(gè)為每種頭發(fā)運(yùn)動(dòng)自定義設(shè)計(jì)的頭發(fā)動(dòng)畫(huà)數(shù)據(jù)庫(kù)。

2 發(fā)型數(shù)據(jù)構(gòu)造

001.jpg

  對(duì)頭發(fā)動(dòng)畫(huà)仿真前需要準(zhǔn)備各種發(fā)型數(shù)據(jù),首先需要準(zhǔn)備高質(zhì)量的二維手繪卡通角色圖像(如圖1所示)和人物發(fā)型的草圖(如圖2所示)。這些圖像都是由技術(shù)熟練的動(dòng)畫(huà)師們所繪制的,用于作為原始輸入的圖像。由技術(shù)熟練的動(dòng)畫(huà)師所繪制的圖像僅是其中一步,同時(shí)還需要準(zhǔn)備網(wǎng)線顯示的三維人物的頭部模型,通過(guò)對(duì)該網(wǎng)線模型賦予紋理貼圖就得到一個(gè)三維頭部圖像。這一步驟由用戶或動(dòng)畫(huà)師處理。

002.jpg

  2.1 設(shè)置頭發(fā)縷數(shù)

  在動(dòng)畫(huà)師手工繪制的高質(zhì)量二維圖像中,通過(guò)手工方式確定坐標(biāo)位置。再由坐標(biāo)位置,做好圖像調(diào)整以提取適于角色動(dòng)畫(huà)的頭發(fā)模型,并創(chuàng)建一個(gè)三維稀疏的頭發(fā)模型。該頭發(fā)模型的邊線構(gòu)成頭發(fā)的形狀和中心線,以控制頭發(fā)運(yùn)動(dòng)(如圖3所示)。這些曲線由Catmull-Rom樣條表示。中心線與邊界線之間有約束虛位移。

003.jpg

  2.2 構(gòu)造三維發(fā)型數(shù)據(jù)

  要構(gòu)造一個(gè)為匹配動(dòng)畫(huà)角色的初狀三維模型的頭發(fā),可以使用任意一款三維圖形處理工具,將頭部模型和毛發(fā)同時(shí)顯示。3Dmax和maya都能勝任此事。此外把頭發(fā)草圖量化,并將這些數(shù)據(jù)和數(shù)據(jù)庫(kù)中的頭發(fā)運(yùn)動(dòng)數(shù)據(jù)進(jìn)行匹配(如圖4所示)。草圖發(fā)絲上的點(diǎn)是為了頭發(fā)的交互運(yùn)動(dòng)而繪制的。所繪制的數(shù)據(jù)最初是二維的。

004.jpg

3 創(chuàng)建頭發(fā)動(dòng)畫(huà)

  利用從草圖派生的角度和由投影來(lái)自數(shù)據(jù)庫(kù)序列上的草圖中定義的圖像平面上的三維頭發(fā)數(shù)據(jù)而獲得的數(shù)據(jù)之間的相似度,通過(guò)應(yīng)用變形功能的角度之間的差異獲得有吸引力的頭發(fā)造型。此外,插值補(bǔ)充各序列之間內(nèi)容,以保持它們之間的平滑過(guò)渡。

  3.1 頭發(fā)運(yùn)動(dòng)數(shù)據(jù)庫(kù)設(shè)計(jì)

  在風(fēng)吹或頭部運(yùn)動(dòng)中產(chǎn)生的力作用于頭發(fā),設(shè)計(jì)好受力大小后,使用Featherstone多體鏈動(dòng)力學(xué)算法進(jìn)行模擬仿真得到發(fā)絲運(yùn)動(dòng)的動(dòng)畫(huà)效果,受力運(yùn)動(dòng)僅控制中心線[5-6]。應(yīng)用該算法指明三維點(diǎn)的速度矢量,生成每一個(gè)過(guò)渡幀畫(huà)面。

  編譯數(shù)據(jù)庫(kù)已成為處理文集或散亂數(shù)據(jù)的常用方法。本文還處理了發(fā)絲控制點(diǎn)數(shù)據(jù)作為數(shù)據(jù)庫(kù)。此方法的一個(gè)突出點(diǎn)為:這個(gè)數(shù)據(jù)庫(kù)是由動(dòng)畫(huà)師為特定目標(biāo)動(dòng)畫(huà)而定制設(shè)計(jì)的。數(shù)據(jù)庫(kù)序列中的一個(gè)單元大約在5幀長(zhǎng)度。為減少數(shù)據(jù)庫(kù)的大小,數(shù)據(jù)庫(kù)中發(fā)絲運(yùn)動(dòng)數(shù)據(jù)都可以由動(dòng)畫(huà)師來(lái)設(shè)計(jì),使頭發(fā)目標(biāo)運(yùn)動(dòng)效果得以提取。動(dòng)畫(huà)師甚至可以定義需要獲得這不符合一般的物理規(guī)律運(yùn)動(dòng)的具體受力大小。該數(shù)據(jù)庫(kù)的大小取決于速度和質(zhì)量之間的折衷。在模擬中使用的數(shù)據(jù)庫(kù)通常在5 MB以內(nèi)(這取決于角色造型頭發(fā)的數(shù)量)。作用的力由一個(gè)沖擊函數(shù)產(chǎn)生。根據(jù)動(dòng)畫(huà)師的需求來(lái)設(shè)計(jì)勾勒接近頭發(fā)的關(guān)鍵幀,設(shè)定草圖頭發(fā)運(yùn)動(dòng)的指標(biāo)。例如,彎曲一根頭發(fā)的力度,動(dòng)畫(huà)制作者應(yīng)該只將力施加到發(fā)束的中間部分。為了使其中發(fā)尖移動(dòng),動(dòng)畫(huà)制作者應(yīng)該定義力僅施加到尖端(如圖5所示)的運(yùn)動(dòng)。

005.jpg

  3.2 匹配過(guò)程

  本文方法需要?jiǎng)赢?huà)師用自己的直覺(jué)去決定從頭發(fā)數(shù)據(jù)庫(kù)序列粗糙的毛發(fā)三維位置點(diǎn)的攝像機(jī)位置,然后投射到他的草圖圖像平面,從而成為二維的。然后,匹配二維圖像中平面的x軸和y軸,再比較發(fā)段之間的角度(如圖6所示)。更具體地講,測(cè)量取得的數(shù)據(jù)之間的角度差,從粗毛發(fā)的草圖和從運(yùn)動(dòng)數(shù)據(jù)庫(kù)毛發(fā)序列投影到圖像平面的數(shù)據(jù),然后,用式(1)比較這些數(shù)據(jù)。從發(fā)根到邊緣。

006.jpg

  1.png

  其中,θ是草圖數(shù)據(jù)發(fā)絲的角度,φ是從三維圖形投影到草圖表面數(shù)據(jù)所成的角,i是從發(fā)根開(kāi)始累積發(fā)絲拐角個(gè)數(shù)變量。在式(1)中,各相減的結(jié)果必須小于給定閾值th。如果差值高,將不選擇數(shù)據(jù)庫(kù)中的數(shù)據(jù)。由此,從庫(kù)中選取最大相似度的草圖。

  3.3 角度變形函數(shù)

  對(duì)散亂插值采用徑向基函數(shù)方法(即RBF),它的基本表達(dá)式為:

  2.png

007.jpg

  本插值公式是數(shù)據(jù)點(diǎn)距離的非線性函數(shù)的線性組合,使用于在匹配處理過(guò)程中數(shù)據(jù)庫(kù)的幀序列的插值補(bǔ)充。為處理頭發(fā)形狀使它們更接近于毛發(fā)草圖,本文使用了徑向基函數(shù)插值方法。通常情況下,僅通過(guò)物理方程仿真模擬是不可能得到令人印象深刻和夸張的發(fā)型的。起初,在使用徑向基函數(shù)插值補(bǔ)充由三維投影形成的發(fā)型頂點(diǎn)位置在草圖圖像平面上的差異。然而此做法卻讓毛發(fā)效果變得笨拙冗長(zhǎng),顯示不自然,如圖7(b)所示。最后,對(duì)徑向基函數(shù)進(jìn)行改良,從發(fā)絲角度上進(jìn)行插值補(bǔ)充過(guò)渡差異[7]。使用的公式如下:

  3.png

  其中,i表示一縷發(fā)絲中鏈接的數(shù)量,N是鏈接的總數(shù),k表示數(shù)據(jù)庫(kù)中數(shù)據(jù)序列的數(shù)量,Wi的值是通過(guò)φ減去θ而得的(是個(gè)絕對(duì)值),為前一次從數(shù)據(jù)庫(kù)序列中選擇相應(yīng)數(shù)據(jù)計(jì)算所得。此后Wi值將下一個(gè)發(fā)根到發(fā)梢末端重復(fù)此步驟計(jì)算,并調(diào)整數(shù)據(jù)庫(kù)序列(如圖8所示)。

  為了實(shí)現(xiàn)這個(gè)插值過(guò)程,可以保留頭發(fā)的長(zhǎng)度。一旦在匹配數(shù)據(jù)庫(kù)序列中的第一幀和最后一幀中發(fā)絲角度差值得以計(jì)算出來(lái),就執(zhí)行該序列中的所有幀的插值。此做法被重復(fù)使用于所有頭發(fā)的控制點(diǎn),從而將所有發(fā)絲縷數(shù)插值補(bǔ)充完善,如圖7(c)所示。此處理過(guò)程的第二個(gè)優(yōu)點(diǎn)是,保留頭發(fā)的長(zhǎng)度并減少了從二維到一維計(jì)算的維數(shù)。

  3.4 頭發(fā)運(yùn)動(dòng)過(guò)程插值

  在兩個(gè)鄰近的頭發(fā)序列幀中進(jìn)行插值補(bǔ)充以使頭發(fā)運(yùn)動(dòng)效果流暢。由于使用驅(qū)動(dòng)力來(lái)構(gòu)建了頭發(fā)運(yùn)動(dòng)數(shù)據(jù)庫(kù),動(dòng)畫(huà)效果在沒(méi)有插值補(bǔ)充的情況下是不可能表現(xiàn)順暢的。使用如下公式進(jìn)行插值補(bǔ)充。

  4.png

  其中,c是一個(gè)可變參數(shù),如果c值很大,插值過(guò)程近似于線性插值;如果c值很小,插值過(guò)程成為階躍函數(shù)插值。t表示插值時(shí)間間隔,此值越小,插值補(bǔ)充動(dòng)畫(huà)效果就越平滑。此公式的優(yōu)點(diǎn)是動(dòng)畫(huà)師可以通過(guò)控制c參數(shù),決定插值補(bǔ)充產(chǎn)生的過(guò)渡效果是要平滑過(guò)渡還是階躍變化。但是,大量使用平滑效果更加接近現(xiàn)實(shí)頭發(fā)運(yùn)動(dòng)效果,與卡通動(dòng)畫(huà)追求的效果會(huì)有偏差。通過(guò)c參數(shù),動(dòng)畫(huà)師可以選擇最佳數(shù)值以使動(dòng)畫(huà)效果達(dá)到所設(shè)計(jì)的目的。

4 結(jié)論

  使用本文的方法,通過(guò)輸入兩種類型圖形,已經(jīng)成功地創(chuàng)建出頭發(fā)運(yùn)動(dòng)動(dòng)畫(huà)。對(duì)于每個(gè)動(dòng)畫(huà),所有動(dòng)畫(huà)都以每秒24幀的標(biāo)準(zhǔn)速率播放。它清楚地展現(xiàn)了該方法的有效性,使動(dòng)畫(huà)師們利用計(jì)算機(jī)圖形交互設(shè)計(jì)技術(shù)生成卡通頭發(fā)動(dòng)畫(huà)的效果接近手工繪畫(huà)效果。

  該方法還存在一些不足:(1)只能用于頭發(fā)簇比較少的模型,對(duì)于頭發(fā)簇比較多的模型,動(dòng)畫(huà)過(guò)程計(jì)算量大,效果不是很理想;(2)長(zhǎng)發(fā)模型的所有控制點(diǎn)都在一個(gè)平面上,所以生成的模型也在同一平面上,限制了模型形狀。

  參考文獻(xiàn)

  [1] ANJYO K, USAMI Y, KURIHARA T. A simple method for extracting the natural beauty of hair[C]. Proceedings of SIGGRAPH 92,1992:111-120.

  [2] ROSENBLUM R E, CARLSON W E, TRIPP E. Simulating the structure and dynamics of human hair:Modeling, rendering and animation[J]. The Journal of Visualization and Computer Animation, 1991:141-148.

  [3] KIM T Y, NEUMANN U. Interactive multiresolution hair modeling and editing[C]. Proceedings of SIGGRAPH 2002, San Antonio, 2002:620-629.

  [4] 任陽(yáng)春,趙洪德,耿衛(wèi)東.結(jié)合幾何動(dòng)力學(xué)卡通頭發(fā)生成[J].計(jì)算機(jī)應(yīng)用研究,2010(6):2384-2390.

  [5] 白爭(zhēng)鋒,趙陽(yáng),田浩.柔性多體系統(tǒng)碰撞動(dòng)力學(xué)研究[J].振動(dòng)與沖擊,2009(6):75-78.

  [6] LITWINOWICZ P, WILLIAMS L. Animating imageswith drawings[C]. SIGGRAPH 94, Orlando, FL,1994:409-412.

  [7] 魏義坤,楊威,劉靜.關(guān)于徑向基函數(shù)插值方法及其應(yīng)用[J].沈陽(yáng)大學(xué)學(xué)報(bào),2008(2):7-9.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 给我个免费看片bd| 18岁日韩内射颜射午夜久久成人| 最近免费中文字幕大全免费版视频| 午夜剧场1000| 丁香婷婷亚洲六月综合色| 大乳丰满人妻中文字幕日本| 久久99精品国产麻豆宅宅| 欧美国产日韩A在线观看| 免费看**一片毛片| 韩国一级淫片漂亮老师| 国产精品日韩欧美一区二区三区| 一级一黄在线观看视频免费| 日韩乱码中文字幕视频| 亚洲成av人片在线观看www| 福利视频第一页| 国产乱弄免费视频| 亚洲成a人片在线观看精品| 天天躁日日躁狠狠躁av麻豆| 中文无码精品一区二区三区| 最近中文字幕mv手机免费高清 | 免费乱码中文字幕网站| 西西人体免费视频| 国产精品va欧美精品| 99精品视频在线| 快点cao我要被cao烂了男女| 久久亚洲中文字幕精品一区| 欧洲97色综合成人网| 亚洲精品乱码久久久久久蜜桃| 精品国产午夜理论片不卡| 国产乱人伦av在线a| 国产精品h在线观看| 国产精品自在欧美一区| a级国产精品片在线观看| 成人国产在线观看高清不卡 | 老司机久久影院| 国产成人mv在线播放| **aaaaa毛片免费同男同女| 大香伊人久久精品一区二区| 一级国产黄色片| 攵女yin乱合集小丹| 久久夜色精品国产欧美乱|