從《玩具總動員》第一至第三集,看動畫電影的變與不變 Reviewed by Momizat on . 《玩具總動員》首部全3D的動畫電影   20年前的1月19日,《玩具總動員》(Toy Story)的劇本完成,進入配音與 3D 動畫製作的階段。這部動畫電影製作完成之後將在 1995 年感恩節上映。 實在很難想像,這部世界上第一部以全 3D 製作的電腦動畫片已經問世近二十年了。回頭看看這部動畫電影所創造的技術 《玩具總動員》首部全3D的動畫電影   20年前的1月19日,《玩具總動員》(Toy Story)的劇本完成,進入配音與 3D 動畫製作的階段。這部動畫電影製作完成之後將在 1995 年感恩節上映。 實在很難想像,這部世界上第一部以全 3D 製作的電腦動畫片已經問世近二十年了。回頭看看這部動畫電影所創造的技術 Rating:
Home » 科技 » 從《玩具總動員》第一至第三集,看動畫電影的變與不變

從《玩具總動員》第一至第三集,看動畫電影的變與不變

從《玩具總動員》第一至第三集,看動畫電影的變與不變

《玩具總動員》首部全3D的動畫電影

 

20年前的1月19日,《玩具總動員》(Toy Story)的劇本完成,進入配音與 3D 動畫製作的階段。這部動畫電影製作完成之後將在 1995 年感恩節上映。

實在很難想像,這部世界上第一部以全 3D 製作的電腦動畫片已經問世近二十年了。回頭看看這部動畫電影所創造的技術成就,就算是用現今動畫的水平來衡量,還是非常驚人。

Toy Story:第一部全 3D 的動畫電影。圖片來源:wikimedia.org

Toy Story:第一部全 3D 的動畫電影。圖片來源:wikimedia.org

電影中的 76 位角色,與用來產生幾何物件與圖形的 450 萬行程式碼(使用 Pixar 自行開發的工具),已經夠複雜了。加上 12,384 根種在安迪頭上的頭髮、超過2,000張的貼圖與 1,300 個 Render Man shader;光一株在安迪家附近的樹的樹葉就超過一萬片,而附近有超過 100 株類似的樹。甚至光是 Sid 的背包就有 128 個控制手把(control handle)。

這些數字今天看來依然十分驚人,更遑論 20 年前。對於當年的 28 位動畫師與 30 位技術人員(Technical Director)來說,絕對是一個巨大的挑戰。

 

動畫內的燈光困難重重

 

在模型與一些技術問題解決之後,還有一道巨大的關卡–燈光(lighting)。1988 年奧斯卡最佳動畫短片的得主,時任《玩具總動員》動畫與技術監督的動畫大師 William Reeves 就曾說過,燈光是營造情緒最關鍵的部份。

他說:

我們從未做過像這樣的燈光。傳統的燈光表現使用擴散、辦公室燈光或跳來跳去的聚光燈。我們在 Sid 的房間裡作了戲劇化的、充滿情緒的燈光、手電筒光、日光、烈陽等。我們試著創作出各種的環境。

 

We’ve never done lighting like this before, The typical computer graphics scene uses diffuse, office light or has spotlights bouncing everywhere. We have dramatic, moody lights in Sid’s room, flashlight stuff, daylight, bright sun. We tried to create all sorts of environments.

 

製作過程就是研究過程

 

由於《玩具總動員》是第一部全 3D 動畫電影,製作過程只能為且戰且走,遇到問題也無前例可循。有時候為了解決問題,Pixar 必須立即發展出新的技術。精確地說, University of Utah 與 Lucas Film 也貢獻了很多,Pixar 算是站在這些巨人的肩膀上,首次將這些技術帶到動畫電影中。

這些技術時至今日依然能在動畫甚至是遊戲製作中看到。比如:

  • Texture Mapping

Texture Mapping 是指在 3D 模型的表面加上一張 bitmap,使模型擁有紋理顏色的變化與更多細節。使用 Texture Mapping 可以讓 3D modeler 省下許多建模時間。

Texture Mapping 讓模型具有顏色與紋理變化 圖片來源:research.microsoft.com

但如何用一張 bitmap 包覆整個模型的表面呢?電腦圖學界的先驅 Edwin Catmull 發表了一種解決的方法,也就是在每個模型上的點(vertex)標上座標,同時也在 bitmap 上加上相對應的座標,這樣就知道在 bitmap 上的紋理與顏色是屬於模型上哪一點的。

就像是男生(vertex)女生(bitmap)頭一次見面,約好了兩個人都拿一朵紅玫瑰。兩人一見面,看到對方手中拿著紅玫瑰,就興奮地擁抱在一起是一樣的意思。

只要有座標,就可以跟3D空間中的一片四方形的四個點(vertex)對應上圖片來源:msdn.com

Edwin Catmull 的方法稱為貼圖座標(Texture Coordination),在現在 3D applications 又稱為 UV。Pixar 所使用的技術是 Edwin Catmull 的威力加強版,對於更複雜的模型發展出好幾種指定貼圖座標的方法。這些方法在今日的 Maya 與 3D Studio Max中相當常見

 

  • Z buffer

Z buffer 又稱 Z 座標緩衝,在 3D 圖學中可以用來去除隱藏面,提高運算效能與顯示正確的圖像。

 Z buffer用來解決3D圖學中物體的遠進與遮蔽問題圖片來源:Chi-Feng

如上圖,在早期 3D 動畫中,如要顯示上圖三個物體的遠近與隱藏面,是用一種叫畫家演算法(Painter’s algorithm)的技術,電腦會根據觀察者距離繪出距離觀察者最遠的物體,然後依序畫出中景跟近景,如下圖。

畫家演算法,由遠景到近景圖片來源:wikimedia.org

可是這種演算法碰到物體互相纏綿交疊時,電腦就無法判定哪一個物體離觀察者較遠,哪一個較近了。如下圖。

物體如果互相交疊,畫家演算法就判斷不出來哪一個物體較近或是較遠了。圖片來源:Chi-Feng

 而使用了 Z buffer ,電腦會根據物體 Z buffer 的數據,互相比較,如下圖。

Z buffer 運算示意圖。圖片來源:pling.org.uk

圖片中每一個數字就是一個物件,數字越趨近 1 代表越遠。讀者可以配合圖片想像一下,就可以知道 Z buffer 的好用之處了,因為不需要像畫家演算法那樣考慮哪一個物體先畫,只要有 Z buffer 數據做為參考,哪一個物體先畫都沒有關係。

近年由於電腦顯示卡上的記憶體都大得嚇人,所以儲存更多與更精確的 Z buffer 數據已經是小菜一碟。

 

  • Render Man

Render Man 是 Pixar 研發的算圖系統,整合了很多圖像演算法,同時提供了許多工具讓使用者能夠自由的控制圖像的輸出。《玩具總動員》的最終渲染(Rendering)的工作就是交給 Render Man 處例,加上87 台昇陽電腦的 SPARCstations 雙處理器工作站,與 30 台 SPARCstations 四處理器工作站合作處理。

底下是筆者使用 Render Man 算圖的結果。對 Render Man 描述語言有興趣的讀者可以參考 Render Man 資料

筆者用 Render Man 試算出來的影像。圖片來源:Chi-Feng

筆者使用 Render Man 產生球體與球面的反光,並渲染了幾張不同數量球體的測試。跟筆者在「《少年 Pi 的奇幻漂流》幕後功臣:大量運用的 Procedural Modeling」一文中提到的一樣,擁有隨時修改的彈性與節省巨量時間的優點,在20年前是一項巨大的成就。

 

《玩具總動員 3》:站在巨人的肩膀上遠望

 

將近 20 年之後推出的《玩具總動員》第三集,跟第一集完全不是一個等級。在第一集讓 modeler 與動畫師頭痛的模型部分,在第三集拜科技之賜,高面數的模型已經不是問題。反之挑戰卻是要維持一定的設計與表現風格。

《玩具總動員三》的技術指導(Technical Director)Guido Quaroni 說:

要被現在的軟體讀取,原有的模型必須升級或重製。Pixar 參考以前的舊模型,確保新創的角色看起來跟以前一樣,但底層卻是完全從零建造的模型。我們總是用上一集作標準,看著角色的皮膚、頭髮、衣服的建構方法、動作、臉部表情,確保我們用新的技術改進,卻依然維持原汁原味。

 

The models had to be upgraded and rebuilt if only to be readable by today’s software. Using the old models as a reference, Pixar made sure they built models that would pass as the same familiar faces, but under the hood the models were completely rebuilt from scratch. “We always use the previous shows as our benchmark, look at the quality of the skin, the hair, the way the cloth is constructed, the motion, the controls on the faces, making sure we keep that quality as a baseline and try to improve it.

 

當然在第三集所使用的貼圖方法,與上面提到的 Texture Mapping 方法很類似,並加入了筆者文章中曾經提及的法向量貼圖。就像雙刀流,Pixar 有一把刀已經很強了,現在又擁有進步的軟體與技術加持,在視覺效果上更是如虎添翼。

 

燈光上使用了更多演算技術

 

根據 CG Society 的報導,《玩具總動員》第三集在燈光上加入了 GI 的技術。當然,筆者在有物報告的文章也提過這些燈光的技術(如 photon mapping)。燈光對於製作團隊來說,是如何整合這些燈光的技術與工具,並維持風格一致。

Pixar 的燈光攝影導演 Kim White 說:

從玩具總動員 1 和 2 之後我們在技術上更有優勢。我們有了 Occulusion 這些新東西,也有更多的燈光技術。最難的是:該怎麼整合這些從第二集以來新的技術,又讓觀眾感覺第三集還是以前的玩具總動員?

 

We’ve had a lot of advances in technology since the making of the first two Toy Story’s. We’ve got things like occlusion, we’ve got a lot more lighting tools. The challenge was, how do we integrate all the wonderful things we’ve gotten since Toy Story 2, and still make it feel like Toy Story?

 

不變的是說故事的能力

 

看了玩具總動員中使用的電腦圖像技術,讀者是不是覺得現在的 3D 動畫片製作,比之 20 年前那篳路藍縷的時代要簡單多了?但隨之而來的挑戰,是風格的創造與維持,同時製作上也回歸動畫片的本質:『說故事的技巧』。

技術很重要,但永遠不會是動畫片的重點。二十年了,我想懂得說故事是唯一沒有「進步」的東西。

圖片來源:ajilbab

– 更多新知,在有物報告的 Google+ –

Scroll to top