|
皮克斯動(dòng)畫工作室的資深科學(xué)家托尼•德瑞斯(Tony DeRose)在紐約市的數(shù)學(xué)博物館(The Museum of Mathematics)做了一場(chǎng)演講,,分享電影中的數(shù)學(xué),。托尼•德瑞斯穿了件花哨的皮克斯T-shirt,,緩步在紐約的數(shù)學(xué)博物館演講廳的座席間,,乍眼一看,,他橫豎也不像個(gè)科學(xué)家。他頻頻向坐在位子上的未來(lái)小技術(shù)宅致意,,以及向隨這些小技術(shù)宅同來(lái)的各位家長(zhǎng)和老師問(wèn)好,。聽眾中也不乏年長(zhǎng)的數(shù)學(xué)死宅及其基友,。還有個(gè)二十幾歲的哥們,他曾經(jīng)是《汽車總動(dòng)員2》的龍?zhí)籽輪T(他的動(dòng)作捕捉被作為制作動(dòng)畫的藍(lán)本),,他帶來(lái)了他娘,,因?yàn)樗夏锵胍?jiàn)識(shí)下這些幕后的電影工作者是怎么把他兒子的動(dòng)作搬上熒幕的。8 G/ }! Y* D7 x `
托尼•德瑞斯今天的演講題目是“電影中的數(shù)學(xué)”(Math in the Movies),。主題就是他的工作——怎么把代數(shù)和幾何融入軟件之中,,從而渲染出各式各樣的物體,或者驅(qū)動(dòng)復(fù)雜的物理引擎,。托尼解釋說(shuō),,這套流程,全世界的電腦動(dòng)畫工作室和電子游戲制作者都在用,。他來(lái)這里演講的目的之一,,就是告訴大家,動(dòng)畫師和游戲設(shè)計(jì)師若有大志,,那么數(shù)學(xué)功底一定要過(guò)硬,。身為皮克斯的資深科學(xué)家,托尼•德瑞斯數(shù)學(xué)功底何止過(guò)硬,,簡(jiǎn)直是太硬——美國(guó)加州大學(xué)伯克利分校的計(jì)算機(jī)博士,,專攻計(jì)算物理學(xué),然后又在華盛頓大學(xué)當(dāng)了十多年的計(jì)算機(jī)工程的教授,。 ?6 D( U* g0 ]) U! d2 w/ Q
$ r( u+ }9 P+ C+ e% s: A# X; o
在計(jì)算機(jī)制作的動(dòng)畫中,,頭發(fā)、衣服,、流體和氣狀物(比如云,、煙、火),,都有自己專屬的物理引擎,。而到了具體的電影中,這每一大類的專屬模擬引擎又會(huì)根據(jù)情況得到進(jìn)一步增強(qiáng),,表現(xiàn)出更加炫目的效果,。托尼•德瑞斯說(shuō):“模擬水很簡(jiǎn)單;難點(diǎn)在于,,用什么方法模擬出來(lái)的水,,怎樣才像真的水,能被引導(dǎo)往某個(gè)方向流動(dòng),�,!保ㄔ跉W拉坐標(biāo)系下水流模擬需要的計(jì)算機(jī)資源太多,而使用拉格朗日坐標(biāo)系進(jìn)行的追蹤每個(gè)格點(diǎn)的模擬需要資源較少,,但實(shí)際上是在模擬黏性不大不可壓縮的固體,。) 8 H8 V% ^ o) W! X
" ?: z/ [: n8 @) ]$ b托尼•德瑞斯舉了《勇敢傳說(shuō)》(Brave)里面的例子:梅莉達(dá)一頭蓬松卷曲的紅發(fā),,便是用了全新的物理引擎模擬出來(lái)的。(傳統(tǒng)的頭發(fā)模擬是使用類似漿糊的體積模擬,,而不是一絲一絲的進(jìn)行碰撞模擬,,漿糊里面每一個(gè)點(diǎn)的波動(dòng)會(huì)傳播到周圍的點(diǎn),并且有一定的傳播速度和衰減程度,,最后這一大塊漿糊被賦予頭發(fā)的絲狀材質(zhì),。而梅莉達(dá)的蓬松卷發(fā)則更類似于多體的彈性和非彈性碰撞,故而傳統(tǒng)的頭發(fā)模擬引擎派不上用場(chǎng),。)托尼•德瑞斯和皮克斯動(dòng)畫師團(tuán)隊(duì)絞盡腦汁,,終于制作出來(lái)梅莉達(dá)那一頭得比真的還真、極具表現(xiàn)力的秀發(fā)模型——當(dāng)然,,這頭秀發(fā)的模擬計(jì)算量還要我們的超級(jí)計(jì)算機(jī)能承受,。
; q9 V7 @* x* T7 U& H! u7 ?2 p, U# l2 m- c5 X7 x/ n, w+ `2 J
托尼•德瑞斯繼續(xù)解釋:“真實(shí)世界里面,頭發(fā)無(wú)時(shí)無(wú)刻都在彼此發(fā)生著碰撞,。梅莉達(dá)的頭發(fā)有10萬(wàn)個(gè)單獨(dú)的有限元,,而n個(gè)物體在下一時(shí)刻有 n2 種碰撞可能,10萬(wàn)個(gè)元就會(huì)有100億種可能,,如何制作一個(gè)能快速模擬出100億種碰撞可能的引擎,?這里,我們使用了特別的數(shù)據(jù)結(jié)構(gòu),,使得這些碰撞可能性被去粗取精,,沒(méi)用的碰撞可能性就被剔掉了。打個(gè)比方來(lái)說(shuō),,如果對(duì)比‘傻而快’的MP3或者JPEG壓縮算法,,我們創(chuàng)造的則是頭發(fā)模擬界的FLAC或者PNG的壓縮算法�,!�# ~5 c" K: T, @4 t9 X
0 N* s8 Q6 d* V' [7 N托尼•德瑞斯又提到,,CG動(dòng)畫制作經(jīng)常需要模擬超大規(guī)模、尺度精細(xì)的物理模型,,較之物理學(xué)家平時(shí)所需的科學(xué)計(jì)算是有過(guò)之而無(wú)不及,。托尼•德瑞斯的工作,就是為這些物理模擬尋找更優(yōu)的算法,,保證模擬之尺度的同時(shí)又不失微小細(xì)節(jié),。1 o! c. W3 o, x0 i4 [1 S1 f
托尼•德瑞斯對(duì)CG動(dòng)畫制作界最為重要的貢獻(xiàn),就是引入了高還原度的曲線/曲面的生成算法:如何將復(fù)雜的形狀分解成電腦可以生成的多邊形,。多年以來(lái),,電腦動(dòng)畫和電子游戲制作都在致力于用多邊形來(lái)表示一個(gè)真實(shí)世界的三維物體。但是,,使用多邊形的問(wèn)題就在于,,仔細(xì)一看,還是看得出來(lái)多邊形的棱角的,。CG業(yè)界的趨勢(shì)是用“平滑”曲面代替多邊形,,這些“平滑”曲面會(huì)經(jīng)過(guò)原來(lái)多邊形頂點(diǎn)所在的位置。數(shù)學(xué)家針對(duì)此方,,發(fā)明了各種快速生成“經(jīng)過(guò)固定點(diǎn)的‘平滑’曲面”的方法,。
' A: v: [0 X* u' w$ X/ V例如曲面細(xì)分,將原本一個(gè)多邊形按照曲面的曲率拆解成多個(gè)多邊形,,并且不斷重復(fù)該過(guò)程直到達(dá)到允許的自由度上限,。從曲線的角度來(lái)看,連接曲線經(jīng)過(guò)的始點(diǎn)和終點(diǎn)的線段是對(duì)曲線的“模擬”,,如果細(xì)分的話,,加入曲線上的中點(diǎn),分別連接始點(diǎn)和終點(diǎn)成為兩條線段,,這是對(duì)該曲線更好的“模擬”,,而這個(gè)過(guò)程可以不斷進(jìn)行下去。
1 L) K- A1 f* L) w, u+ [& _
+ p9 Z3 c8 G$ B0 t托尼•德瑞斯當(dāng)時(shí)將他在學(xué)術(shù)界的研究成果和多維曲面上的小波計(jì)算,,應(yīng)用到皮克斯的曲面生成算法中(小波變換的一大優(yōu)勢(shì),,在于可進(jìn)行多尺度多分辨率的計(jì)算分析)�,!冻丝倓�(dòng)員》里,,每一個(gè)建筑、每一扇窗戶,,所有物體的所有細(xì)節(jié)都是曲面細(xì)分的產(chǎn)物�,,F(xiàn)在幾乎每個(gè)皮克斯動(dòng)畫制作項(xiàng)目都會(huì)用到曲面細(xì)分。而今曲面細(xì)分算法已然成為CG動(dòng)畫的行業(yè)標(biāo)準(zhǔn),。
' [4 Z; J0 d' S; ` z( n) W: ^! L; `1 C
托尼•德瑞斯和他的研究團(tuán)隊(duì)制作電影同時(shí),,仍然不忘在學(xué)術(shù)界灌水論文,并且關(guān)注學(xué)術(shù)界最新進(jìn)展,,方能將最新的成果用到皮克斯的動(dòng)畫渲染引擎中來(lái),,不過(guò),現(xiàn)在皮克斯的研發(fā)部門和渲染軟件已經(jīng)不像幾年前那樣領(lǐng)先業(yè)界數(shù)個(gè)身位了,。以前,,一個(gè)角色模型的光照和著色,還有定義各種動(dòng)作的參數(shù)首先是數(shù)學(xué)上的難題,,接著是寫代碼上的難題,;但現(xiàn)在,像 Blender 一樣的開源軟件,,也能比肩皮克斯自主研發(fā)的軟件,。2012年夏天,,皮克斯發(fā)揚(yáng)互聯(lián)網(wǎng)的分享精神,將他們的曲面細(xì)分代碼庫(kù)開源,,放到了網(wǎng)站 GitHub 上,。對(duì)于這一舉動(dòng),托尼•德瑞斯解釋說(shuō):“我們?cè)?jīng)領(lǐng)先業(yè)界十年,,不過(guò)現(xiàn)在更得益于讓大家來(lái)一起參與開發(fā),。”
9 ]7 E+ r4 g4 p, o; P |
|