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